AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi TStringList verhält sich in D11 anders mit enthaltenen #0
Thema durchsuchen
Ansicht
Themen-Optionen

TStringList verhält sich in D11 anders mit enthaltenen #0

Ein Thema von Rolf Frei · begonnen am 25. Aug 2022 · letzter Beitrag vom 12. Sep 2022
 
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.783 Beiträge
 
Delphi 12 Athens
 
#3

AW: TStringList verhält sich in D11 anders mit enthaltenen #0

  Alt 25. Aug 2022, 07:08
Mich würde nun interessieren, wieso TString.SetTextStr komplett umgeschrieben wurde und die #0 Zeichen nicht mehr behandelt. Ist das Absicht oder eine Bug?
Das ist offenbar Absicht: https://quality.embarcadero.com/brow...#comment-94090

Insbesondere wird hier wohl das vorige Verhalten als ungewollt betrachtet. Da es nicht dokumentiert ist, kann die Implementierung auch entsprechend angepasst werden. Ich fürchte, du wirst dir deinen eigenen #0-Bereiniger davor schalten müssen. Das würde auch die bisher verborgene Intention klarer machen. Offenbar rechnen die meisten Entwickler nicht damit, dass eine TStringList #0-Zeichen ausfiltert.

Unabhängig davon kenne ich aber auch Fälle, in denen #0-Zeichen in Strings als Separatoren zu weiteren Informationen missbraucht werden, nur um eine korrekte Datenstruktur (z.B. Array, Record) zu vermeiden. Dann wird der erste Part einfach über PChar(S) ausgelesen. Bei den folgenden wird es dann halt komplexer. Sowas kommt meistens durch irgendwelche Quick'n'Dirty Erweiterungen rein und sollte schleunigst refactored werden. Konkret für deinen Fall würde ich eine Art StripZeroChars Funktion empfehlen. Dann ist das Problem ein für alle Mal gebannt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz