Hi,
nächstes Problem:
Ich habe eine Funktion deschrieben, die Parameter an Sqlite weitergibt.
Unter anderem auch eine Callbackfunktion. Jetzt möchte ich die Callbackroutine aus der
DLL raus haben.
Die Callbackroutine soll im Delphi Programm stehen.
das problem ist, dass ich die Callbackadresse irgendie weitergeben muss!
Wie kann ich das machen?
Code:
static int callback(void *NotUsed, int argc, char **argv, char **azColName){
int i;
for(i=0; i<argc; i++){
// printf("%s = %s\n", azColName[i], argv[i] ? argv[i] : "NULL");
}
printf("\n");
return 0;
}
extern "C" __declspec( dllexport ) void QtTestDll_Sqlite(char* Database,char* SQL_string)
{
sqlite3 *
db;
char *zErrMsg = 0;
int rc;
TCHAR Inhalt[101];
rc = sqlite3_open(Database, &
db);
if( rc ){
//Fehlermeldung ausgeben. Wird noch implementiert.
sqlite3_close(
db);
exit(1);
}
wtoci(Inhalt,SQL_string,sizeof(SQL_string));
rc = sqlite3_exec(
db,SQL_string,callback, NULL, &zErrMsg);
if( rc!=SQLITE_OK ){
//Erfolgsmeldung wird noch implementiert.
sqlite3_free(zErrMsg);
}
sqlite3_close(
db);
//
}
Grüsse
Rainer