现在我在做一个含有线程的程序,其中这个线程是有几个自定义的进程串在一起组成的,进程中包含ADO对象(多线程组件),运行时发现,该线程可以全速运行,挂起,但不能terminate,在试图使用挂起后,再free的方法也不能实现,而且出现程序死掉的情况,线程开始一开始运行就设置freeonterminate:=true,请问高手,这是怎么回事,希望大家尽快帮忙,小弟在这给大家跪下啦~~~~~~
另外本人对文件打印颇有一点心得,谁有兴趣要?

解决方案 »

  1.   

    可能线程没有处理Terminated这个消息吧
    用Delphi的TThread线程,需要自己监控Terminated的,发现的时候,自己退出因为Terminate方法,只是发送了一个标志了而已需要正真强行关闭,就用API的TerminateThread,慎用哦~
      

  2.   

    >>运行时发现,该线程可以全速运行,挂起,但不能terminate,
     设置个标志为,如信号量之类的,在线程内部检测,
    停止的时候,设置这个标志位, 让它自己退出如果挂起,可先 resume