Diese Deklaration ist nicht sicher:
Delphi-Quellcode:
TMyBox = class(TWorldBox)
public
{ Public-Deklarationen }
Parameter : TParameter;
construcor Create(AOwner: TComponent); override;
destructor Destroy; override;
end;
Das Problem ist, dass jeder von Aussen die Variable Parameter umbiegen kann.
Das führt zwangsläufig zu Fehlern.
Über ein Property kann man die Sache aber wasserdicht machen:
Delphi-Quellcode:
TMyBox = class(TWorldBox)
private
FParameter : TParameter;
procedure SetParameter(value:TParameter);
public
{ Public-Deklarationen }
construcor Create(AOwner: TComponent); override;
destructor Destroy; override;
property Parameter : TParameter read FParameter write SetParameter;
end;
procedure TMyBox.SetParameter(value:TParameter);
begin
FParameter.Assign(value);
end;
Die Klasse TParameter muss von TPersistent abgeleitet werden und die Methode
Assign muss überschrieben werden.
Mehr zu Assign() - leider auf englisch
http://delphi.about.com/od/course/a/delphi_oop21.htm