类中动态生成控件问题?(50分)

  • 主题发起人 主题发起人 没理头号
  • 开始时间 开始时间

没理头号

Unregistered / Unconfirmed
GUEST, unregistred user!
类中动态生成控件问题?
我在一个类中动态生成一时钟!可是不知为什么没反应!
代码如下:
在类的CREATE中:
GuardTimer:=TTimer.Create(self);
GuardTimer.OnTimer :=UpdateSendTimer;
GuardTimer.Enabled :=true;
函数UpdateSendTimer代码如下:

procedure T.UpdateGuardTimer(Sender: TObject);
begin
GuardTimer.Enabled :=false;
form1.Label3.Caption :='Con Time '+FormatDateTime('hh:mm:ss',now);
GuardTimer.Enabled :=true;
end;
///////////////////////////////////////////////
在主程序中CREATE一个类实例后LABEL3根本没反应!
 
将GuardTimer.OnTimer :=UpdateSendTimer;改为
GuardTimer.OnTimer :=UpdateGuardTimer;我试了一下就没行了.
 
存在UpdateSendTimer过程吗,我都怀疑你怎么能编绎
 
呵呵,这样的问题,呵呵
 
来晚了!
 
将GuardTimer.OnTimer :=UpdateSendTimer;改为
GuardTimer.OnTimer :=UpdateGuardTimer;
就可以了 代码如下:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, Component1, StdCtrls,extctrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label3: TLabel;
private
GuardTimer:ttimer;
procedure UpdateSendTimer(Sender: TObject);
{ Private declarations }
public
{ Public declarations }
constructor create(aowner:tcomponent);override;
destructor destroy;override;
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

constructor TForm1.create(aowner: tcomponent);
begin
inherited;
GuardTimer:=TTimer.Create(self);
GuardTimer.OnTimer :=UpdateSendTimer;
GuardTimer.Enabled :=true;
end;

destructor TForm1.destroy;
begin
inherited;
GuardTimer.free;
end;

procedure TForm1.UpdateSendTimer(Sender: TObject);
begin
GuardTimer.Enabled :=false;
form1.Label3.Caption :='Con Time '+FormatDateTime('hh:mm:ss',now);
GuardTimer.Enabled :=true;
end;

end.
 
接受答案了.
 
后退
顶部