delphi 程序里我写了一个方法,方法里面的算法比较复杂,计算起来时间比较长,我想把这个方法单独放到一个线程里去执行,请问是怎么写?一点头绪没有啊,谢谢
1条回答 默认 最新
- Olenichenko_vov 2014-09-19 15:47关注
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
end;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;TMyThread = class(TThread)
protected
procedure DoWork;
procedure Execute; override;
end;var
Form1: TForm1;
MyThread: TMyThread;implementation
{$R *.dfm}
procedure TMyThread.Execute;
begin
//算法比较复杂
while not Terminated do
Synchronize(DoWork);
end;procedure TMyThread.DoWork;
begin
Form1.CheckBox1.Checked := True;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if Button1.Caption = 'Stop' then begin
MyThread.Terminate;
Button1.Caption := 'Start';
Exit;
end;
MyThread:=TMyThread.Create(False);
MyThread.Priority:=tpNormal;
Button1.Caption := 'Stop';
Form1.CheckBox1.Checked := False; // start Thread
end;end.
解决 无用评论 打赏 举报
悬赏问题
- ¥30 这是哪个作者做的宝宝起名网站
- ¥60 版本过低apk如何修改可以兼容新的安卓系统
- ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
- ¥50 有数据,怎么建立模型求影响全要素生产率的因素
- ¥50 有数据,怎么用matlab求全要素生产率
- ¥15 TI的insta-spin例程
- ¥15 完成下列问题完成下列问题
- ¥15 C#算法问题, 不知道怎么处理这个数据的转换
- ¥15 YoloV5 第三方库的版本对照问题
- ¥15 请完成下列相关问题!