Einzelnen Beitrag anzeigen

bepe

Registriert seit: 17. Okt 2006
119 Beiträge
 
#4

AW: PWideChar oder PAnsiChar

  Alt 1. Mär 2018, 07:25
Hi,

nicht direkt eine Antwort auf deine Frage aber...

Zu vielen/den meisten API Calls gibt es zwei Varianten: Ansi und Widestring. Zum Beispiel GetModuleHandleA und GetModuleHandleW. Du verwendest aber den Alias GetModuleHandle. Dann solltest du auch beim Datentyp einen Alias verwenden.

haDLL := GetModuleHandle(PWideChar(sDLL)); Das funktioniert wenn GetModuleHandle auf GetModuleHandleW verweist (Unicode Delphis). In älteren Versionen geht der verweis auf GetModuleHandleA und dann stimmt der Datentyp nicht mehr.

Delphi-Quellcode:
haDLL := GetModuleHandleW(PWideChar(sDLL)); // wenn du bewusst WideChar möchtest
haDLL := GetModuleHandleA(PAnsiChar(sDLL)); // wenn du bewusst AnsiChar möchtest

// meistens bessser:
haDLL := GetModuleHandle(PChar(sDLL)); // wenn der Typ egal ist

Trotz rotem Kasten, da ein zwei erklärende Worte mehr...

mfg,
bp
  Mit Zitat antworten Zitat