我写了一个类。里面用了tlist等控见
但是为什么我访问里面的一些方法时会出现一些奇怪的问题::
如::
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
这样的代码回出错,
请问各位大虾一般事什么原因啊
但是为什么我访问里面的一些方法时会出现一些奇怪的问题::
如::
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
这样的代码回出错,
请问各位大虾一般事什么原因啊
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
已开始你的fcritical是false,她当然永远在这里循环了阿,你在里面是不是改一个出口出来啊,否则这样的程序很可能死机的
不会死循环,但是你这段代码有什么用呢?不明白,你是为了程序到这里把控制权交换用户界面,但是不用这个while来控制啊,如果你这个时候是true,而用户不干预,那可能就真的死在这里了。
开始的时候应该是true,然后你在跟踪程序,可能没有响应客户干预,所以在这里循环,你可以运行一下,然后在这里把断点去掉,到界面进行人工干预,看看?
利用断点、单步执行一下。
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;这是不是死循环呀?
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;这是不是死循环呀?
如果Fcritical一开始是FALSE,那么这个条件不成立,所以永远不会执行。