Ich versuche gerade alle properties einer
VCL mit der dbcollection zu speichern und wieder zu laden. Dazu habe ich mal folgende Test
unit geschrieben:
Delphi-Quellcode:
unit Unit2;
interface
uses dpCollection,StdCtrls;
type TSimpleCollectionItem =
class(TCollectionItem)
private
fCaption:
String;
fbutton:tbutton;
public
procedure Assign(Source: TPersistent);
override;
procedure assignbutton(
const value:tbutton);
published
constructor Create(Collection : TCollection);
override;
destructor Destroy;
override;
property Caption:
String read fCaption
write fcaption;
property button: tbutton
read fbutton
write assignbutton;
end;
implementation
uses Unit1;
constructor TSimpleCollectionItem.Create(Collection: TCollection);
begin
inherited Create(Collection);
fbutton:=tbutton.Create(self);
end;
destructor TSimpleCollectionItem.destroy;
begin
fbutton.free;
end;
procedure TSimpleCollectionItem.assignbutton(
const value:tbutton);
begin
fbutton.Assign(value);
end;
procedure TSimpleCollectionItem.Assign(Source: TPersistent);
begin
if Source
is TSimpleCollectionItem
then
begin
fCaption := TSimpleCollectionItem(Source).Caption;
fbutton:=tSimpleCollectionItem(source).button;
end
else
inherited Assign(Source);
end;
end.
Das Problem ist nur das
fbutton:=tbutton.Create(self);
natürlich nicht möglich ist. Ich weiss nicht mal ob ich auf dem richtigen Weg bin

...
Mein Ziel ist es, eine unbestimmte Anzahl von
VCL in eine Datei zu speichern und wieder zu laden (Level Editor). Ich hoffe ihr könnt mir helfen, Danke schon mal im Voraus!