#include "main.h" #include "FuncDef.h" static int loadfuncs( struct ADSFUNCDEF funcs[] ); void sysmsg( char *msg ); extern "C" { void main( int argc, char *argv[] ) { int stat; short scode = RSRSLT; ads_init( argc, argv ); for ( ;; ) { if( ( stat = ads_link( scode ) ) < 0 ) { char buffer[256]; wsprintf( buffer, "TEMPLATE: bad status from ads_link() = %dn", stat ); sysmsg( buffer ); exit( 1 ); } scode = RSRSLT; switch (stat) { case RQXLOAD: scode = loadfuncs( exportedFunctions ) ? RSRSLT : RSERR; break; case RQSUBR: break; case RQXUNLD: break; case RQSAVE: break; case RQQUIT: break; case RQEND: break; default: break; } } } } // functie pentru definirea tuturor functiilor si comenzilor static int loadfuncs( struct ADSFUNCDEF funcs[] ) { for( int i = 0; funcs[i].cExternalName && funcs[i].pfInternalName; i++ ) { if( ads_defun( funcs[i].cExternalName, i ) == RTNORM ) { ads_regfunc( funcs[i].pfInternalName, i ); } else return 0; } return 1; } // Pentru mesajul de eroare in cazul in care AutoCAD-ul nu poate fi contactat void sysmsg( char *msg ) { #ifdef WIN MessageBox( NULL, msg, "Error", MB_OK ); #elif DOS puts( msg ); #endif }