急,100!!!

zhiwuyang602 2003-08-23 10:33:40
我写了一个类。里面用了tlist等控见
但是为什么我访问里面的一些方法时会出现一些奇怪的问题::
如::
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
这样的代码回出错,
请问各位大虾一般事什么原因啊
...全文
47 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhp97 2003-08-25
  • 打赏
  • 举报
回复
Fcritical,这个变量大有问题,我看不是是否已经赋予值的问题(看看初始化还是必要的)
vchoushen6 2003-08-24
  • 打赏
  • 举报
回复
Fcritical在什么地方赋的初值,又在什么地方会产生相应的变化,以影响循环语句的执行。若是程序停在这了,那就是Fcritical的值永真,以致于死循环了。
kuki84 2003-08-24
  • 打赏
  • 举报
回复
do something on Fcritical
大地精灵 2003-08-24
  • 打赏
  • 举报
回复
呵呵,你需要在别的地方把这个循环给破开,给你个例子启发一下
While Timer1.enabled do
Application.ProcessMessages;

然后在 Timer1的OnTimer时间里写入
Timer1.enabled := False;
如果Timer1的时间设为10秒,那上面的功能就是用来程序停止10秒
facedge 2003-08-23
  • 打赏
  • 举报
回复
Fcritical是什么类型的?
bxh2dai 2003-08-23
  • 打赏
  • 举报
回复
我支持z_hongbao() 的说法,可以是与 Fcritical定义和类型有关~!
z_hongbao 2003-08-23
  • 打赏
  • 举报
回复
Fcritical是否多重定义?类型不同?
sixgj 2003-08-23
  • 打赏
  • 举报
回复
呵呵。

while /do构成一个循环语句,其语法格式为:

while 条件表达式 do
语句……

你再查看一下你的语法是否……
xuejinlong 2003-08-23
  • 打赏
  • 举报
回复
呵呵,高难度,你的问题太难了,给这么一个片断。

首先我也觉得你的这断代码会死循环。

其次 Fcritical是什么东西?都在什么位置操作他了?你也不说清楚,就这么一段代码,让大家给你找问题,是不是有点儿难为各位了?
yujohny 2003-08-23
  • 打赏
  • 举报
回复
while Fcritical do /////////1111 到这里时就不执行了
begin
Application.ProcessMessages;
Sleep(1);
end;
Fcritical := true;
很不理解你的代码 既然Fcritical是True才能运行begin end之间的代码
那后面又将Fcritical := true;(这句不是多余的)
如果是布尔型变量那用这样不更好
IF Fcritical then
begin
Application.ProcessMessages;
Sleep(1);
end;
nhdj 2003-08-23
  • 打赏
  • 举报
回复
我也感觉是个死循环,Fcritical := true;
zjqyb 2003-08-23
  • 打赏
  • 举报
回复
你做了死循环

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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