![]() |
Problem beim Speichern eines einer Klasse in Textdatei
Hallo,
ich habe ein Problem beim speichern einer Variable. Ich habe folgende Typdeklarationen geschrieben:
Delphi-Quellcode:
Später weise ich den alle Werte zu und möchte diese Varaiable speichern.
type
TSpezial = record moeglich : boolean; hinweis: string[20]; TextausMemo : TStrings; end; TDaten = record titel,Hinweis:string[20]; TextAusMemo : TStrings; ready : boolean; spezielles: TSpezial; end; Zum Speichern schrieb ich:
Delphi-Quellcode:
Ich verstehe nicht, warum es nicht funktioniert. (Ich bekomme einen Fehler: Lesen von Adresse 00000 usw.)
procedure TForm1.Speichern(Sender: TObject);
var index,n, i : integer; F : file of TDaten; Datensatz : TDaten; begin Datensatz.Create; DatenZuweisen(Datensatz); assignfile(F,'test.txt'); Rewrite(F); write(F,Datensatz); closefile(F); Datensatz.Free; end; Kann mir jemand sagen, woran es liegt, und wie es richtig geht? Ich hab es auch schon mit einem Record probiert. Aber dann wird der Text aus aus den TStrings-Variablen scheinbar nicht korrekt gespeichert. Wär nett, wenn mir jemand helfen würde.. mfg changlee |
Re: Problem beim Speichern eines einer Klasse in Textdatei
Du kannst nicht den Konstruktor eines nicht existierenden Objekts aufrufen ;-)
So müsste es gehen:
Delphi-Quellcode:
procedure TForm1.Speichern(Sender: TObject);
var index,n, i : integer; F : file of TDaten; Datensatz : TDaten; begin Datensatz := TDaten.Create; DatenZuweisen(Datensatz); assignfile(F,'test.txt'); Rewrite(F); write(F,Datensatz); closefile(F); Datensatz.Free; end; |
Re: Problem beim Speichern eines einer Klasse in Textdatei
Es ist leider ganz einfach gesagt: Du kannst Records mit Objekten (wie TStrings) nicht einfach so speichern. Da musst Du Dir einen anderen Ansatz suchen.
...:cat:... |
Re: Problem beim Speichern eines einer Klasse in Textdatei
Mir wurde damals gesagt, dass es mit packed records gehen würde...
|
Re: Problem beim Speichern eines einer Klasse in Textdatei
Hallo,
ich habe oben einen kleinen Fehler gemacht. Meine Dypdeklaration lautet:
Delphi-Quellcode:
An Dax:
type
TSpezial = class moeglich : boolean; hinweis: string; TextausMemo : TStrings; end; TDaten = class titel,Hinweis:string; TextAusMemo : TStrings; ready : boolean; spezielles: TSpezial; end; Ich habs ausprobiert. Jetzt hakt das Programm allerdings an einer Anderen Stelle. Muss ich evtl. auch TextAusMemo erst mit Create erstellen? Oder wird das automatisch mit erstellt, wenn man TDaten.Create aufruft? Aber trotzdem danke.. mfg changlee |
Re: Problem beim Speichern eines einer Klasse in Textdatei
mmh..
funktioniert auch nicht wenn ich
Delphi-Quellcode:
einfüge.
TextAusMemo : = TStrings.Create;
Fehler beim schreiben von Adresse 0006 .. :gruebel: changlee |
Re: Problem beim Speichern eines einer Klasse in Textdatei
Delphi-Quellcode:
Niemals von TStrings erstellen... Das ist eine abstrakte Klasse!
TextAusMemo : = TStringlist.Create;
|
Re: Problem beim Speichern eines einer Klasse in Textdatei
Les sakuras Antwort!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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 by Thomas Breitkreuz