Einzelnen Beitrag anzeigen

Benutzerbild von Weazy
Weazy

Registriert seit: 7. Apr 2005
Ort: Bern (Schweiz)
414 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Tutorial zur DP-Collection

  Alt 21. Mär 2006, 22:49
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!
Philippe Wechsler
  Mit Zitat antworten Zitat