Habs hinbekommen.
Auch wenn das in der Windows
Unit auf den ersten Blick so aussieht:
Delphi-Quellcode:
// Winapi.Windows
function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC;
stdcall;
overload;
function GetProcAddress(hModule: HMODULE; lpProcName: LPCWSTR): FARPROC;
stdcall;
overload;
GetProcAddress gibt es (original)
nicht im WideString-Format:
Delphi-Quellcode:
// Winapi.Windows
function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC;
external kernel32
name '
GetProcAddress';
function GetProcAddress(hModule: HMODULE; lpProcName: LPCWSTR): FARPROC;
begin
if ULONG_PTR(lpProcName)
shr 16 = 0
then // IS_INTRESOURCE
Result := GetProcAddress(hModule, LPCSTR(lpProcName))
else
Result := GetProcAddress(hModule, LPCSTR(TMarshal.AsAnsi(lpProcName)));
end;
Musste also meine eigene Definition von PChar auf PAnsiChar ändern und jetzt klappt es.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."