Nach
VCL-Standard sollte das etwa so aussehen:
Delphi-Quellcode:
TFoo = class(TComponent)
protected
FTimer: TTimer;
procedure SetTimer(AValue: TTimer);
public
constructor Create(AOwner: TComponent);
destructor Destroy; override;
property Timer: TTimer read FTimer write SetTimer;
end;
[...]
implementation
constructor ...
begin
inherited;
FTimer := TTimer.Create(Self); // Hier musst du dich selbst um die Freigabe kümmern
// FTimer := TTimer.Create(AOwner); // Hier kümmert sich das Formular/... darum
end;
destructor ...
begin
FTimer.Free; // bei Create(Self)
inherited;
end;
procedure SetTimer(AValue: TTimer);
begin
FTimer.Assign(AValue);
end;