in der Suchfunktion habe ich viele verwandte Themen gefunden aber keines konnte meine Frage beantworten. Ich schreibe eine ziemlich einfache Win32 Dll in VC++6.0 und möchte daraus Funktionen in VB6.0 benutzen.
Eine Funktion als Beispiel:
long __declspec(dllexport) WINAPI Dispatcher ( DWORD dwMsg, // Message char *szPathProtFile, // String data long *plNumValues // Numeric data ) { // Dispatcher switch(dwMsg){ case RSF_MSG_ONFILELOAD: LoadFile(szPathProtFile); break; default: return(VB_TRUE); }
return(VB_TRUE); } // Dispatcher
Wenn ich die DLL mit dem C-Compiler übersetze bekomme ich den Funktionsaufruf der Form "_Dispatcher@12" in VB importiert. Nun möchte ich jedoch eine Klasse in der DLL nutzen und deshalb den C++-Compiler benutzen. Nach der Übersetzung mit diesem Compiler sieht der Funktionname in der DLL so aus: "?Dispatcher@@YGJKPADPAJ@Z". Nun bekomme ich weder mit dieser Form noch mit "Dispatcher" oder "_Dispatcher" die Funktion importiert. Er sagt mir wenn ich dann VB starte das der Einsprungpunkt dieser Funktion in der dll nicht gefunden werden konnte. Es wäre schön wenn mir jemand helfen könnte. Vielen Dank schon einmal im Voraus,