Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
26. Aug 2007
Aye, pushen ist erst nach 24h erlaubt, Kapitän Hansklok.
Jedoch zu Deinem Problemchen, schlägt der Skipper das hier vor:
procedure TDokument.Save(Datei: TFileStream);
var
i: Integer;
begin
// Anzahl der Items reinschreiben:
Datei.WriteBuffer(Count, SizeOf(Integer));
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Hi,
Items gibt eine TSeite zurück, da brauchst Du keinen Typecast mehr ;)
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Hi,
noch nicht. Die greifst falsch auf die Seiten zu (per TSeite(Index) geht das nicht).
Zu den Properties: http://www.dsdt.info/grundlagen/sprache/oo.php Bei "Eigenschaften oder Properties" geht es los.
Die Property für die Dokumentklasse wäre, wie schon geschrieben:
property Items: TSeite read GetSeite;
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Hi,
Du brauchst die Seiten, die Du der ObjectList hinzufügst, nicht selbst wieder über Free zerstören, dass macht die ObjectList selbst. Dann gibst Du im Destructor von TDokument die Variable Offset frei (Offset.Free). Im OnDestroy der Form steht auch noch mal Offset.Free. Eins von beiden musst Du entfernen.
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Hi,
hinzufügen geht z.B. so:
// Dokument: TDokument (irgendwo erzeugen^^)
var
Seite: TSeite;
begin
Seite := TSeite.Create(<evtl. ein Owner);
Dokument.Add(Seite);
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Hi,
ich würde ja diese Aufteilung vorschlagen:
type
TSeite = class(TObject)
...
end;
TDokument = class(TObjectList)
Forum: Object-Pascal / Delphi-Language
by Die Muhkuh,
19. Aug 2007
Ich werfe mal eine TObjectList in den Raum. Damit ist das möglich, was Du vor hast (und spart das Array ;) )