开了个线程,居然 窗体不能移动了, ( 积分: 100 )

  • 主题发起人 主题发起人 fanronghua
  • 开始时间 开始时间
F

fanronghua

Unregistered / Unconfirmed
GUEST, unregistred user!
TMyThread = class(TThread)
protected
FormT: TForm;
procedure Execute;
override;
end;

var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TMyThread.Execute;
var
i: integer;
begin
while truedo
begin
FormT.Canvas.LineTo(3, 8);
// Sleep(500);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
MYT: TMyThread;
begin
MYT := TMyThread.Create(false);
MYT.FormT := Self;
MYT.Execute;
end;
 
FormT.Canvas.LineTo 只能在主线程工作,所以你这个线程开了跟没开效果一样。
 
我写
while truedo

begin

end;

他还是死
 
[:D]窗体类在线
 
不能提问了。因为我改了邮箱 ,但没发确认码到我新邮箱。现在账户不能用了。请问大家有什么办法没有阿?我只能在这里回复了!
 
使用Synchronize
 
你程序写的有问题
procedure TForm1.Button1Click(Sender: TObject);
var
MYT: TMyThread;
begin
MYT := TMyThread.Create(false);
MYT.FormT := Self;
MYT.Execute;
//该成MYT.Resume;
end;
 
接受答案了.
 
后退
顶部