Morgen
Ich hab da noch einmal eine kleine Frage.
Ich hab da bei Stackoverflow mal gelesen gerade, dass man mit dem TOmniXMLReader / TOmniXMLWriter Anwendungsdaten in eine
XML schreiben bzw lesen kann. Was ich schon mal Prima fand, weil man anscheinend sich um nichts kümmern muss OmniXML soll das wohl über ein TPersistent lösen was man zuvor anlegt und er schreibt / liest das ganze dann quasi in einem Rutsch.
Das hab ich gerade mal versucht. Allerdings war das nicht so ganz von Erfolg gegrönt.
Also das Problem tritt eigentlich nur an einer Stelle auf und zwar dann wenn ich die
XML spaeter wieder lesen möchte...
Mein Problem scheint wohl zu sein das der Writer wohl die Daten schreibt (Es befindet sich ein Memo auf meinem Formular der Inhalt soll in die
XML was auch gemacht wird allerdings sieht das ganze etwas seltsam aus
Ich bin da so vorgegangen Anhand des Beispiels hab ich ein Persistent angelegt was über 2 Stringlisten verfügt. Die eine Stringliste soll halt mit dem Text aus dem Memo gefüllt werden.
Ich hoffe mal ich hab das halbwegs Korrekt gemacht
Delphi-Quellcode:
type
TTestType = (ttEins, ttZwei);
type
TAppConf = class(TPersistent)
private
FFileName: string;
FTestPropName: string;
FTestPropType: TTemplateType;
FMemoInhalt: TStringList;
published
constructor Create(const FileName: string); overload;
destructor Destroy; override;
procedure LoadConf(const Filename: string);
procedure SaveConf(const Filename: string);
property TestPropName: string read FTestPropName write FTestPropName;
property TestType: TTestType read FTestType write FTestType;
property MemoInhalt: TStringList read FMemoInhalt write FMemoInhalt;
property Filename: string read FFilename write FFilename;
end;
Gespeichert hab ich das ganze dann über:
TOmniXMLWriter.SaveToFile(self, FFilename, pfNodes, ofIndent);
Und so geladen:
TOmniXMLReader.LoadFromFile(self, FFilename);
Jetzt sieht der Inhalt meiner
XML gespeichert so aus:
Code:
<data PropFormat="node">
<TAppConf>
<TestPropName>MoinMoin</TestPropName>
<TestType>ttEins</TestType>
<MemoInhalt Count="4">
<l0>IchKommausDemMemo</l0>
<l1>IchAuch</l1>
<l2>IchSowieso/</l2>
<l3>IchBinDerLetzte</l3>
</MemoInhalt>
</TAppConf>
</data>
Wenn ich das
XML wieder einlesen möchte, geht das ganz gut bis zu dem Punkt wenn ich auf MemoInhalt zugreife und den Inhalt halt dem richtigen Memo auf der Form zuweisen will dann, knallts ($C0000 irgendwas)...
Jetzt war meine Überlegung das das Format da in dem
XML in dem Knoten MemoInhalt nicht passt und somit nicht gelesen werden kann? Bzw. das OmniXMLPersistent Teil damit nichts anzufangen weiß.
Nur wie stell ich das jetzt an das ich nicht nur Knoten erstellen kann die einzeilig sind, da ich unter Umstaenden einen laengeren Text schreiben und lesen muss?
Hier mal der Link wo ich das gelesen hatte:
http://stackoverflow.com/questions/2...-xml-file?rq=1
Viele Grüsse