Einzelnen Beitrag anzeigen

SMO

Registriert seit: 20. Jul 2005
178 Beiträge
 
Delphi XE6 Professional
 
#14

AW: Probleme mit RtlRunEncodeUnicodeString

  Alt 24. Sep 2015, 16:30
Wäre mir neu Würde ich mich, selbst wenn es so ist, aber auf keinen Fall drauf verlassen. "Normale" Strings sind in Delphi nicht nullterminiert, sondern enthalten ein vorangestelltes Längenbyte. Unter dem Gesichtspunkt ist für den Delphi Compiler ja keine Notwendigkeit gegeben noch irgendwelche Nullen hinzuzufügen.
Doch, das macht Delphi schon immer (?) so, wie uligerhardt sagte. Nur auf diese Weise können Delphi-Strings, egal ob Ansi oder Unicode, schnell und einfach für die Verwendung mit der Windows-API auf PChar gecastet werden.
Delphi-Strings haben auch schon seit Delphi 2 kein vorangestelltes Längenbyte mehr, sondern einen 32 Bit Integer. Der String mit Längenbyte ist der alte ShortString.
Aktuell steht vor Ansi/UnicodeStrings eine ganze Menge mehr, insgesamt 12 Bytes.
  Mit Zitat antworten Zitat