Es kommt jetzt darauf an. Das Problem ist, dass bis einschließlich Delphi 2007 galt: PChar = PAnsiChar. Mit Delphi 2009 hat sich das geändert: PChar = PWideChar. So, für Dich bedeutet das, dass Du PChar nur dann so belassen kannst, wenn sowohl Programm als auch
DLL mit derselben Delphi-Version kompiliert wurden. Oder aber Du implementierst die
DLL-Funktionen jeweils doppelt, einmal in einer
Ansi- und einmal in einer
Unicode-Version.
Delphi-Quellcode:
function SomeDLLFuncA(Data: PAnsiChar); stdcall;
function SomeDLLFuncW(Data: PWideChar); stdcall;
Im Programmcode musst Du dann festlegen, welche Version aufgerufen werden soll.