Создаю компонент, меняющий цвет, размер и местоположение с течением времени. После создания, когда я его уже использую на этапе разработки приложения, то он выполняет эти функции (смена цвета, местоположения и размера). Но при запуске приложения, все это останавливается.
Код:
unit LabelCh;
interface
uses
Windows, Messages, Variants, Graphics, Forms, Dialogs, SysUtils,
Classes, Controls, ExtCtrls, StdCtrls;
type
TLabelChange = class(TCustomPanel)
private
{ Private declarations }
kLabel:TLabel;
kTimer:TTimer;
procedure kTimerTimer(Sender: TObject);
protected
{ Protected declarations }
public
{ Public declarations }
constructor Create(AOwner:TComponent); override;
published
{ Published declarations }
property Label1: TLabel read kLabel write kLabel;
property Timer1: TTimer read kTimer write kTimer;
end;
procedure Register;
var flag: boolean;
implementation
procedure Register;
begin
RegisterComponents('Standard', [TLabelChange]);
end;
constructor TLabelChange.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
kLabel:=TLabel.Create(Self);
kLabel.Parent:=Self;
kLabel.Color:=0;
kLabel.Font.Size:=8;
kLabel.Caption:='NewComponent';
kLabel.Visible:=true;
kLabel.SetSubComponent(true);
kTimer:=TTimer.Create(Self);
kTimer.SetSubComponent(true);
kTimer.OnTimer:=kTimerTimer;
kTimer.Enabled:=true;
end;
procedure TLabelChange.kTimerTimer;
begin
invalidate;
kLabel.Left:=kLabel.Left+3;
kLabel.Font.Color:=kLabel.Font.Color+2;
kLabel.Font.Size:=kLabel.Font.Size+1;
end;
end.