Online
Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
Delphi 12 Athens
|
Re: DLL mit PChar D2010
23. Feb 2010, 12:07
TGetData = function(const User, Pass: AnsiString; Out1, Out2: PAnsiChar; Out1_Length, Out2_Length: Integer): Integer; stdcall;
Alternativ dürfte auch dieses gehn.
Wobei Pointer absichtlich in PAnsiChar geändert wurde, denn ich denke mal dieses ist auch ein AnsiString oder ein AnsiChar-Array ... so gibt es dort nun eine Warnung, wenn man einen PWideChar dort übergibt.
Und das PAnsiChar zu AnsiString ... hier wird wohl nur gelesen und diesbezüglich sieht ein AnsiString intern wie ein PAnsiChar aus.
Und merke dir Eines: für externe Datenübertagung/-Speicherung nutzt man einfach keine dynamische Typen.
PChar, String, Integer, Cardinal sind systemabhängig (also entsprechend des Compilers) und können sich schnell mal verändern.
Ab D2009 ist PChar ein PWideChar und davor war er ein PAnsiChar.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
|