例如:
procedure TMainform.TestRun;
var
i : integer;
begin
i := 0;
//设置中断直到某个事件产生。在此期间,用户不能操作Mainform中的任何控件。
showmessage(inttostr(i));
end;
procedure TMainform.TestRun;
var
i : integer;
begin
i := 0;
//设置中断直到某个事件产生。在此期间,用户不能操作Mainform中的任何控件。
showmessage(inttostr(i));
end;
var
i : integer;
begin
Enable := False; //设置窗体不可动
i := 0;
if 事件产生 then
Enable := True; //恢复窗体 //设置中断直到某个事件产生。在此期间,用户不能操作Mainform中的任何控件。
showmessage(inttostr(i));
end;
createmutex();
waitforsingleobject();可以帮你解决这个问题,
在线程中对VCL的操作是不安全的,但你可以在线程中用另外一个方法synchronize()来调用你对VCL的操作的方法来实现你对窗体的操作
procedure Thread1.ss;
begin
form1.enabled:=false;
end;
在你想中断的事件中可以用下面的方法;
synchronize(ss);