Dll Prob
-
sorry ich meine natürlich
DieDll(12,14);geht aber auch noch nicht
-
DieDll = (IMPFUNC)GetProcAddress(Dll, "Go"); if(DieDLL == NULL) { MessageBox(NULL, TEXT("Die Funktion Go konnte nicht geladen werden!"), NULL, MB_OK); }
-
ja, dank dir aber ich hab gesagt, das ich das doch schon probiert habe, ich bekomme die Zugriffsverletzung, wenn ich die funktion ausführen will.
-
Kann es sein, dass die Funktion selber eine AccessVoilation verursacht?
-junix
-
ja, weisste woran das liegt?
-
Also GetProcAddress liefert jetzt nicht NULL zurück?!
-
nein, leider nicht die funktion danach aber
-
Dann zeig uns doch mal den Code der Funktion.
-
Der Sinn meiner Dll:
extern "C" __declspec(dllexport) int Go(int, int); #pragma argsused int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*) { return 1; } int Go(int test, int test2) { ShowMessage(IntToStr(test)+IntToStr(test2)); return 1; }
Mein Programm:
String Result; DllInstance = LoadLibrary("dll.dll"); typedef int (__stdcall *IMPFUNC) (int, int); IMPFUNC DieDll; if (DllInstance) { DieDll = (IMPFUNC)GetProcAddress(DllInstance, "Go"); if (DieDll != NULL) Result = DieDll(12,14); if (Result != NULL) ShowMessage(Result); } if (FreeLibrary(DllInstance)) DllInstance = NULL;
-
typedef int (*IMPFUNC) (int, int);
Also das __stdcall aus dem typedef