两个线程,一个关闭窗口,一个打开窗口,怎样才能不出错啊!
RJU 2001-07-24 03:02:50 两个线程如下,在程序中需同时开着这两个线程:
1)
procedure Thrd1.Execute;
begin
While True do
begin
if Terminated then Exit;
if Not isCloseingForm then //判断是否正在关窗口
begin
isShowingForm:=True;//修改正在显示窗口的标志
Form3.show; //显示窗口
Form3.Refresh;
isShowingForm:=False;//修改正在显示窗口的标志
end;
end;
end;
2)procedure Thrd2.Execute;
begin
While True do
begin
if Terminated then Exit;
if Not isShowingForm then//判断是否正在显示窗口
begin
isCloseingForm:=True;;//修改正在关闭窗口的标志
Form3.Close;//关闭窗口
isCloseingForm:=False;//修改正在关闭窗口的标志
end;
end;
end;
其中,form3在程序中自动生成
但每次程序运行一会就提示如下出错:can not change visible in onshow or onhide
分数不多,请问如何解决这个问题啊!?