一delphi程式,运行过程中有两按钮,进行互相交替操作."暂停"+"继续"
继续中调用了.ocx控件的某个方法,问题是:继续按钮后有时会卡机,造成窗体卡死,不能按任何东东,要过1~2分钟才能恢复正常.继续按钮有时会卡.如果去掉.ocx方法,就不会卡.不知问题可能出现在什么地方,请高手指点,有什么好方法能较好使用.ocx控件中的方法.

解决方案 »

  1.   

    你把调ocx的代码放到一个线程里持行,主窗体就不会卡了
      

  2.   

    我也试了,开了个线程,把ocx的方法移入线程中执行,但还是卡.很奇怪.卡的时候cpu也就占1%.画面上的文本框鼠标都不能点,还有一系列的time控件事件都不会运行.过了1分多钟才回复过来.这种情况偶然几次出现,也不知你否是.ocx自身控件引起的(ocx是合作方开发的,说是采用线程运行).
      

  3.   

    按照跟踪代码,已经正常执行完了.ocx的方法,主线程代码也已执行(是继续按钮中的其它代码)
      

  4.   

    但把调用ocx控件的方法去掉却不会卡了,真是怪.我的窗体中带多个time控件.
      

  5.   

    是不是你的timer有问题,把Timer去掉会卡吗?
      

  6.   

    timer控件中的事件是必须要执行的.问题是我继续按钮中如果不调用.ocx控件的方法,暂停+继续手动循环执行都正常的.如果继续中调用.ocx的方兴,暂停+继续手动循环有几次应会卡机,卡机都是1分钟左右.
      

  7.   

    我怀疑是ocx中有类似于出错或者消息框的错误提示出现,并且看不见,你可以试试,出现卡的时候回车一下,再点看卡不卡