Einzelnen Beitrag anzeigen

messie

Registriert seit: 2. Mär 2005
Ort: Göttingen
1.592 Beiträge
 
Delphi 2009 Professional
 
#5

AW: GetProcaddress: string-übergabe casten?

  Alt 23. Mai 2014, 12:34
Zitat von Unit Windows:
Delphi-Quellcode:
function GetProcAddress(hModule: HMODULE; lpProcName: LPCSTR): FARPROC; stdcall; overload;
function GetProcAddress(hModule: HMODULE; lpProcName: LPCWSTR): FARPROC; stdcall; overload; // das ist eine überladene Version vom Delphi, welche das in einen AnsiString umwandelt und weitergibt.
Fazit: Man kann also problemlos durchgehend mit String und PChar arbeiten.

Das hättest du aber auch selber nachsehen/ausprobieren können
Öhm, in meiner D2009-Doku finde ich das nicht, da ist nix overload:
Code:
GetProcAddress

Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).


FARPROC WINAPI GetProcAddress(
  HMODULE hModule,
  LPCSTR lpProcName
);
weder in der API-Doku noch im CodeInsight.

@TiGü: das ist eine D6-Wrapper-dll, die auf eine CAN-dll zugreift. Zur Abwärtskompatibilität hat der Lieferant eine eigene Wrapper-dll zur Verfügung gestellt. Also von hinten durch die Brust ins Auge. Funzt aber mit dem Delphi-Testprogramm. Das Benutzerprogramm ist aber in LabView geschrieben und da läuft die dll nicht unter Win7/64. Da LabView nur Ansi und 32 bit kann bin ich auf der Suche nach der Ursache. Und da kommen die Aufrufe und Übergaben recht schnell in den Focus.
Vielleicht gibt es ja noch andere Unterschiede beim dll-Aufruf zwischen XP und Win7/64

Grüße, Messie
  Mit Zitat antworten Zitat