Einzelnen Beitrag anzeigen

Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Exportierte Funktion aus Exe mit GetProcAddress

  Alt 18. Dez 2018, 09:59
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."
  Mit Zitat antworten Zitat