Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
28. Feb 2008
ich denke das Problem tritt beim Laden auf.
Natürlich müssen die Objekte erzeugt werden.
Der interne Record vom VST speichert NUR den Zeiger auf das Objekt.
bzw. das Load erzeugt das object, allerdings nur wenn du die klasse vorher registierst.
type
TTreehelper = class(TComponent)
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
25. Feb 2008
Hehe, gerne.
Spass an:
Programmiere wie du möchtest und solange du möchtest.
Nur das hier alles zu schreiben:
procedure TForm1.VST1SaveNode(Sender: TBaseVirtualTree; Node: PVirtualNode;
Stream: TStream);
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
25. Feb 2008
Ich sehe nichts was verhindern würde, das automatische Streamspeichern mit den VST.Load/Save zu verwenden.
Nur den manuellen Code zum umkopieren der Daten würde ich lassen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
25. Feb 2008
Wenn du Properties hast, welche published sind, wir vom Compiler eine Liste von diesen Abgelegt.
Diese kann ausgelesen werden, was sich TComponent/TStream zu nutze macht.
So erspart du dir viel Arbeit.
Die Berechnungen die du durchführst, machst du doch auf bestehende Daten.
Die Daten müssen irgendwo vorliegen und gespeichert werden.
Das Ergebnis der Berechnung nicht, diese lässt sich...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
24. Feb 2008
type
TArchiv = class(TComponent)
private
fFilename: String;
fTitel: String;
fInterpret: String;
fAlbum: String;
fGenre: String;
fDauer: TTime;
fBewertung: Integer;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by generic,
24. Feb 2008
Gut ich bin jetzt nicht der Fan von Records, aber an dieser Stelle hätte man es leicht wegen der festen Länge.
Allerdings könntest du deine Klasse von TPersistent ableiten und die Eigenschaften welche gespeichert werden sollen "published" machen.
Dann kannst du Prima in den Stream speichern und laden.
TDate wird intern als float abgebildet und hat natürlich auch immer eine Länge im Speicher....