W
windfantasy
Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个线程中试用了TTimer来显示当前时间,可是线程运行后计数器并不工作,不知道是什么原因?
unit2中部分代码如下:
type
TTimerThread = class(TThread)
……
constructor TTimerThread.Create;
begin
inherited Create(false);
FTimer:=TTimer.Create(nil);
FTimer.Interval:=300;
FTimer.OnTimer:=TimerOnTimer;
FTimer.Enabled:=true;
end;
procedure TTimerThread.Execute;
begin
{ Place thread code here }
FreeOnTerminate:=true;
end;
procedure TTimerThread.TimerOnTimer(Sender: TObject);
begin
form1.edit1.text:=timetostr(time);
end;
unit1中部分代码:
……
procedure TForm1.Button1Click(Sender: TObject);
var
TimerThread:TTimerThread;
begin
TimerThread:=TTimerThread.Create;
end;
……
我测试过,如果在form1中直接使用计数器的话倒是能够正常工作的。
哪位好心人给我指点一下,到底问题出在哪里?线程中到底是否可以用计数器?
我急用! 多谢各位指点!
unit2中部分代码如下:
type
TTimerThread = class(TThread)
……
constructor TTimerThread.Create;
begin
inherited Create(false);
FTimer:=TTimer.Create(nil);
FTimer.Interval:=300;
FTimer.OnTimer:=TimerOnTimer;
FTimer.Enabled:=true;
end;
procedure TTimerThread.Execute;
begin
{ Place thread code here }
FreeOnTerminate:=true;
end;
procedure TTimerThread.TimerOnTimer(Sender: TObject);
begin
form1.edit1.text:=timetostr(time);
end;
unit1中部分代码:
……
procedure TForm1.Button1Click(Sender: TObject);
var
TimerThread:TTimerThread;
begin
TimerThread:=TTimerThread.Create;
end;
……
我测试过,如果在form1中直接使用计数器的话倒是能够正常工作的。
哪位好心人给我指点一下,到底问题出在哪里?线程中到底是否可以用计数器?
我急用! 多谢各位指点!