Hallo,
wir haben eine Inkjetdrucker der Firma REAJET an einer Produktionslinen.
Ich möchte die Ansteuerung gerne in ein vorhandenes Delphiprojekt integrieren. (Delphi XE7)
Die Firma REAJET stell eine API-DLL zu Verfügung.
Jetzt habe ich das problem, dass ich nur eine Headerdatei für VC++ zu Verfügung habe.
Ich habe jetzt angefangen die Headerdatei für Delphi umzubauen.
Die folgenden 4 Funktionen habe ich auch schon zum Laufen bekommen.
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 
 | VC++REAPI_DLL const char* REAPI_LibInfo( );
 REAPI_DLL const char* REAPI_GetRevision( );
 EAPI_DLL TConnectionId REAPI_Connect( const char* connectionString );// Connection address string
 REAPI_DLL TErrorCode REAPI_Disconnect( TConnectionId connection );// Connection id returned by REAPI_connect
 | 
		
	  
Jetzt habe ich ein Problem mit der nächsten Funktion:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 
 | VC++REAPI_DLL TErrorCode REAPI_RegisterConnectionCallback(    C_connectionCallbackPtr callback,   // Callback for asynchronous mode
 void* context );                              //Helper Context pointer
 | 
		
	  
Hier muss ein Pointer auf eine Callbackfunktion übergeben werden.
In VC++ würde das ganez so aussehen.
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 
 | //Die Callbackroutine
 void REAPI onConnectionChanged(TConnectionId con, TConStatus
 statusID, TErrorCode error, void * context)
 {
 {
 printf("Connected\n");
 GlobalConnectionId = con;
 }
 else
 {
 printf("Connection failed\n");
 }
 }
 /*Register ConnectionCallback function in asynchronous mode*/
 REAPI_RegisterConnectionCallback ( & onConnectionChange,
 &mycontext);
 | 
		
	  
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 
 | //Die Registrierung der Callbackroutine
 tmperror = REAPI_RegisterConnectionCallback( &onConnectionChanged, 0 );
 | 
		
	  
Wie kann ich das ganze jetzt auf Delphi Portieren?
Vielen Dank schon mal!