Danke für die Tipps!
So klappt es leider nicht:
Delphi-Quellcode:
{$M+}
TDishList= Class(TStringList) // Object für Liste der Gerichte
Private
Function GetSystemID(Index: Integer): Integer;
Procedure SetSystemID(Index: Integer; Const Value: Integer);
Public
Constructor Create;
Destructor Destroy; Override;
Function AddDish(Value: TDishes): Integer;
Procedure DeleteDish(Index: Integer);
Procedure SaveToFile(Const FileName: String); Override;
Procedure LoadFromFile(Const FileName: String); Override;
Property SystemID[Index: Integer]: Integer
Read GetSystemID Write SetSystemID;
End;
{$M-}
// Liste in eine Datei speichern
Procedure TDishList.SaveToFile(Const FileName: String);
Var
I : Integer;
Begin
If Count < 1 Then Exit; // es muss mind. 1 Eintrag da sein
With TMemoryStream.Create Do
Try
WriteComponent(self); // <- inkompatible Typen
SaveToFile(FileName); // alles in der Datei ablegen
Finally
Free;
End;
End;
Wo ist hier mein Denkfehler?
Ich kann leider im Public-Bereich nichts vorweisen. Denn das Object selbst ist ja die Liste. Ich hatte auch versucht, mein Object von TComponent abzuleiten und in Public eine TStringList zu deklarieren. Das geht an sich. Beim Speichern bekomme ich aber auch immer nur eine Datei die 17 Bytes groß ist ...
Gruß, Alex