Einzelnen Beitrag anzeigen

Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#7

Re: Length zerstört AnsiString

  Alt 15. Sep 2009, 18:00
Zitat von himitsu:
Der Delphi-String benutzt ein LängenenByte (Integer) und ließt nicht die länge anhand einer abschließenden #0 aus ... es gibt aber leider viele Funktionen, welche nach dem C-Standard als PChar arbeiten und auch die oft genutzen WinAPIs arbeiten so C-mäßig.
Das war mal so - bevor auch in Delphi die nullterminierten "langen Strings" eingeführt wurden.
Um das Phänomen zu umgehen, kannst du einen ShortString verwenden, der benutzt tatsächlich noch das erste Byte als Längenangabe.
Marvin
  Mit Zitat antworten Zitat