Hallo,
ich habe eine C++
DLL diese enthält (zur Zeit) eine Funktion
Code:
__declspec(dllexport) int getVersion()
{
System::Console::Beep(500, 1000);
return 2;
}
Im Delphi versuche ich die "getVersion" aufzurufen:
Code:
...
dllGetVersionName = 'getVersion@YAHXZ';
...
begin
hRosiLib := LoadLibrary(libNamePath);
if (hRosiLib<>0) then
begin
@vFuncVersion := GetProcAddress(hRosiLib, dllGetVersionName);
if (Assigned(vFuncVersion)) then
begin
test := vFuncVersion();
Result := '';
end
else
Result := 'Fehler beim finden der Funktion['+dllGetVersionName+']';
FreeLibrary(hRosiLib);
end
else
Result := 'Fehler beim Laden der
dll['+libNamePath+']!';
end;
Loadlibrary funktioniert, aber GetProcAddress liefert immer Nil.
"_cdecl und _stdcall" habe ich schon in allen Kombinationen ausprobiert.
DependencyWalker zeigt die Funktion als "int getVersion(void)" an
DLLEports2.0 als "?getVersion@@YAHXZ" bei _stdcall und "?getVersion@@YGHXZ" bei _cdecl.
...mmm... und nun ??
steht er da und hat keinen Schimmer wo es hackt.
Gruß Mario