Einzelnen Beitrag anzeigen

SyntaxXx

Registriert seit: 14. Dez 2008
328 Beiträge
 
Delphi XE4 Architect
 
#1

Strings und Ansistrings, Nullterminiert?

  Alt 24. Feb 2012, 18:30
Guten Abend zusammen,
ich bin gerade dabei, ein kleines Tool zu schreiben.

Jetzt habe ich folgendes Probblem.

Ich habe Tool A, in das ich einen Text eingebe.
Dieser Text wird gespeichert.
Tool B soll diesen Text nun wieder auslesen.

Problem an der Sache ist, dass ich hierbei die Windos API benutze.
Und jetzt habe ich ein Problem.

Wenn ich den Text als "Delphi"-String speicher, und dann auslese, bekomme ich eine ganz wirre Zeichenfolge angezeigt.
Jetzt habe ich mich schlau gemacht und herrausgefunden, dass Delphi Stings nicht das selbe sind wie String von Windows.
Weil dort irgendwie die Nulltermienierung fehlt.

Ok dachte ich mir, dann arbeite ich halt mit Ansistrings. Dort sind die Strings ja nullterminiert.
Doch das hat nichts verändert. Immernoch die komische Zeichenkette.

Dann habe ich aber einen Tipp gelesen, dass man einfach an den Text ein #0 anhängen soll, um so die Nullterminierung manuell zu setzen.
Das habe ich gemacht und siehe da, es hat funktioniert.

Doch jetzt frage ich mich, warum das so geht, aber nicht mit Ansstrings?
Der Text wurde bei beiden Versuchen in einem Editfeld eingegeben.
  Mit Zitat antworten Zitat