急啊,100

zhiwuyang602 2003-08-23 10:34:39
我写了一个类。里面用了tlist等控见
但是为什么我访问里面的一些方法时会出现一些奇怪的问题::
如::
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
这样的代码回出错,
请问各位大虾一般事什么原因啊
...全文
30 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
mxk19791116 2003-08-26
  • 打赏
  • 举报
回复
如果Fcritical一开始是TRUE,这个程序就是死循环,
如果Fcritical一开始是FALSE,那么这个条件不成立,所以永远不会执行。
myling 2003-08-25
  • 打赏
  • 举报
回复
while Fcritical do
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;



这是不是死循环呀?
myling 2003-08-25
  • 打赏
  • 举报
回复
while Fcritical do
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;



这是不是死循环呀?
zhangheaaa 2003-08-25
  • 打赏
  • 举报
回复
Fcritical 有没有初始化?
利用断点、单步执行一下。
Spqk005 2003-08-25
  • 打赏
  • 举报
回复
仔细调试一下
sixgj 2003-08-23
  • 打赏
  • 举报
回复
while Fcritical do 这句话没写明白。
gardenyang 2003-08-23
  • 打赏
  • 举报
回复
不对,我说错了
不会死循环,但是你这段代码有什么用呢?不明白,你是为了程序到这里把控制权交换用户界面,但是不用这个while来控制啊,如果你这个时候是true,而用户不干预,那可能就真的死在这里了。
开始的时候应该是true,然后你在跟踪程序,可能没有响应客户干预,所以在这里循环,你可以运行一下,然后在这里把断点去掉,到界面进行人工干预,看看?
gardenyang 2003-08-23
  • 打赏
  • 举报
回复
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;


已开始你的fcritical是false,她当然永远在这里循环了阿,你在里面是不是改一个出口出来啊,否则这样的程序很可能死机的

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧