Für die, die es mal brauchen, wo wirklich ein anderer Type verlangt wird, also man zur Verfügung hat:
entweder über 'ne Zwischenvariable, oder einfach konvertieren
Delphi-Quellcode:
Var MyStringW, W: WideString;
MyStringA, A: AnsiString{String};
Procedure TestFunc (InPut: PAnsiChar{PChar}) External ... 'TestFuncA';
Procedure TestFuncA(InPut: PAnsiChar{PChar}) External ... 'TestFuncA';
Procedure TestFuncW(InPut: PWideChar) External ... 'TestFuncW';
W := MyStringA;
TestFuncW(PWideChar(W));
A := MyStringW;
TestFunc(PChar(A));
TestFuncA(PAnsiChar(A));
TestFuncW(PWideChar(WideString(MyStringA)));
TestFunc(PChar(String(MyStringW)));
TestFuncA(PAnsiChar(AnsiString(MyStringW)));
Ansonsten macht es sich natürlich nicht schlwecht, wenn man die passende
API verwendet