Einzelnen Beitrag anzeigen

brechi

Registriert seit: 30. Jan 2004
823 Beiträge
 
#2

Re: String zu PChar mach Mist - hängt zuviel Zeichen dran.

  Alt 21. Feb 2006, 21:27
Delphi-Quellcode:
var s: string;
begin
  s := 'elelelel';
  delete(s,5,1);
  s[length(s)+1] := 'o'; {so etwas passiert bei dir}
  form1.caption := pchar(s)+' - '+pchar(copy(s,1,length(s)));
ein PChar muss zwingend ein #0 am schluss haben, ein string jedoch nicht. Durch Speicherverkleinerung, d.h. löschen von Buchstaben
innerhalb eines String, kann es sein, dass am schluss eben nicht #0 gesetzt wird sondern nur die Stringlänge angepasst wird.

das Beispiel oben verdeutlich es.
Eine Kopie des Strings zeigt es richtig an.
Eigentlich sollte aber Delphi in der Lage sein bei einer String to PChar Umwandlung dem PChar am schluss nen #0 dranzuhängen.

Wenn du da nicht irgend nen müll baust
  Mit Zitat antworten Zitat