高手帮忙一delphi问题

hjzhou 2009-12-23 01:42:27
一delphi程式,运行过程中有两按钮,进行互相交替操作."暂停"+"继续"
继续中调用了.ocx控件的某个方法,问题是:继续按钮后有时会卡机,造成窗体卡死,不能按任何东东,要过1~2分钟才能恢复正常.继续按钮有时会卡.如果去掉.ocx方法,就不会卡.不知问题可能出现在什么地方,请高手指点,有什么好方法能较好使用.ocx控件中的方法.
...全文
139 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ffwin 2009-12-23
  • 打赏
  • 举报
回复
我怀疑是ocx中有类似于出错或者消息框的错误提示出现,并且看不见,你可以试试,出现卡的时候回车一下,再点看卡不卡
hjzhou 2009-12-23
  • 打赏
  • 举报
回复
timer控件中的事件是必须要执行的.问题是我继续按钮中如果不调用.ocx控件的方法,暂停+继续手动循环执行都正常的.如果继续中调用.ocx的方兴,暂停+继续手动循环有几次应会卡机,卡机都是1分钟左右.
gyk120 2009-12-23
  • 打赏
  • 举报
回复
是不是你的timer有问题,把Timer去掉会卡吗?
qkhhxkj102 2009-12-23
  • 打赏
  • 举报
回复
帮顶
hjzhou 2009-12-23
  • 打赏
  • 举报
回复
但把调用ocx控件的方法去掉却不会卡了,真是怪.我的窗体中带多个time控件.
hjzhou 2009-12-23
  • 打赏
  • 举报
回复
郁闷中,难道是显卡引起该问题?
ok1411 2009-12-23
  • 打赏
  • 举报
回复
不明白
hjzhou 2009-12-23
  • 打赏
  • 举报
回复
按照跟踪代码,已经正常执行完了.ocx的方法,主线程代码也已执行(是继续按钮中的其它代码)
hjzhou 2009-12-23
  • 打赏
  • 举报
回复
我也试了,开了个线程,把ocx的方法移入线程中执行,但还是卡.很奇怪.卡的时候cpu也就占1%.画面上的文本框鼠标都不能点,还有一系列的time控件事件都不会运行.过了1分多钟才回复过来.这种情况偶然几次出现,也不知你否是.ocx自身控件引起的(ocx是合作方开发的,说是采用线程运行).
wxsan 2009-12-23
  • 打赏
  • 举报
回复
楼上说的有道理
wzwcn 2009-12-23
  • 打赏
  • 举报
回复
你把调ocx的代码放到一个线程里持行,主窗体就不会卡了
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2009-12-23 01:42
社区公告
暂无公告