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...