Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: Call einer DLL von einem Delphi Prg

  Alt 12. Apr 2017, 08:12
Dann war aber was noch Anderes falsch , denn
* Delphi 1 bis 2007 : PChar = PAnsiChar
* seit Delphi 2009 : PChar = PWideChar

Zufällig funktioniert es, wenn man im Delphi als IN-Parameter (const) statt PAnsiChar einen AnsiString verwendet, denn intern ist der Delphi-String Binärkompatibel mit PAnsiChar, damit beim Cast PAnsiChar(EinAnsiString) praktisch nichts gemacht werden muß.
Das gilt aber nur für Lesezugriffe.

Bei manuellen Header-Übersetzungen nutze ich manchmal gern solch ein Verhalten aus, um die Schnittstellen dann im Programm einfacher (delphi-typischer) nutzen zu können.
String statt PChar zwar nicht so oft, wie es möglich wäre, aber z.B. ein VAR- oder OUT-Parameter statt eines Pointers.
$2B or not $2B

Geändert von himitsu (12. Apr 2017 um 08:14 Uhr)
  Mit Zitat antworten Zitat