Entwickler-Ecke
Sonstiges (Delphi) - Problem mit dem speicher des Inhaltes einer TListView
LuMa86 - Mi 12.06.13 18:02
Titel: Problem mit dem speicher des Inhaltes einer TListView
Moin,
ich versuche gerade den Inhalt einer TListView Komponente in einer Datei zu speichern. Dazu verwende ich diesen Code:
http://www.swissdelphicenter.ch/de/showcode.php?id=729
Allerdings geht an irgendeiner stelle etwas schief, ich kann es mir aber einfach nicht erklären, daher mal der Eintrag bevor er entfernt und aus der Datei wieder geladen wird (im Anhang).
Grüße,
LuMa
[EDIT] Offenbar wird der Inhalt beim speichern "verstümmelt". Die Datei hat schon dieselben Macken, wie man sie auch später im ListView sieht.
WasWeißDennIch - Mi 12.06.13 18:45
Ich nehme mal an, Deine Delphi-Version ist >= 2009? Dann wird es daran liegen, dass der gezeigte Code wohl nicht Unicode-fähig ist (ich tippe auf das StrAlloc).
haentschman - Fr 14.06.13 12:41
Moin... 8)
wobei hier wieder einmal zu erwähnen sei, daß die Datenhaltung von der GUI getrennt sein sollte. Das würde bedeuten, daß die Items der Listview in einer seperaten "Datenstruktur" vorgehalten werden. Diese gilt es dann zu speichern und zu laden. :zwinker:
LuMa86 - Do 27.06.13 20:29
Uppss... Hab den Thread irgendwie vergessen :oops: Also ich habe einen anderen Code gefunden. Wie schon beschrieben lag es an meiner Delphi Version und dem Unicode Problem.
jaenicke - Fr 28.06.13 06:39
Um genau zu sein liegt es an diesen Zeilen:
Beim Lesen und bei den anderen Spalten natürlich genauso. Statt w muss die Länge des Strings mit der Größe eines Buchstabens in Bytes benutzt werden:
Delphi-Quelltext
1:
| F.Write(pText^, w * SizeOf(Char)); |
Trotzdem hat
haentschman natürlich Recht: So ist der Code ziemlich unsauber geschrieben, weil die Daten ist der Listview auch gespeichert werden. Normal wäre, dass sie in einer Liste liegen, dort geladen und gespeichert werden und in der Listview nur angezeigt werden.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!