Einzelnen Beitrag anzeigen

R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#3

Re: C: Callback Funktion aus DLL verlagern

  Alt 20. Dez 2009, 11:19
Hi Sirius,
das hab ich schon versucht.

Code:
extern "C" __declspec( dllexport ) void QtTestDll_Sqlite(char* Database,char* SQL_string, void* ptr)
{
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    TCHAR Inhalt[101];

    rc = sqlite3_open(Database, &db);
    if( rc ){
      //Fehlermeldung ausgeben
      //fprintf(stderr, "Can't open database: %s\n", sqlite3_errmsg(db));
      sqlite3_close(db);
      exit(1);
    }
    wtoci(Inhalt,SQL_string,sizeof(SQL_string));
    rc = sqlite3_exec(db,SQL_string,ptr, NULL, &zErrMsg);<--------hier meckert Compiler wegen ptr
    if( rc!=SQLITE_OK ){
      //fprintf(stderr, "SQL error: %s\n", zErrMsg);
      sqlite3_free(zErrMsg);
    }
    sqlite3_close(db);

   //
}
Compiler meckert:
rtest.cpp:77: error: invalid conversion from 'void*' to 'int (*)(void*, int, char**, char**)'
rtest.cpp:77: error: initializing argument 3 of 'int sqlite3_exec(sqlite3*, const char*, int (*)(void*, int, char**, char**), void*, char**)'

Wenn ich noch irgendeine Idee hätte hätte ich diesen Thread nicht eröffnet.

Grüsse
Rainer
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat