Delphi7我将一个线程类封装在DLL中,我在主程序调用的时候如何控制这个线程的运行?
中止,暂停等控制?
定义线程:
TMyThread = class(TThread)
  protected
    procedure Execute; override;
  public
    constructor Create; virtual;
end; 因为线程执行的时间比较长,所以中途可能会暂停或中止线程运行,请教:主程序如何才能做到?

解决方案 »

  1.   

    如果你能得到线程句柄的话,可以用api对其操作
    SuspendThread(句柄);//挂起
    ResumeThread(句柄);//唤醒
      

  2.   

    在DLL定义暂住或中止函数。
    将这两个函数导出,在主程序中调用。
    或者,在主程序中调用DLL线程的时候,
    返回线程的句柄,再使用楼上的方法。
      

  3.   

    都行,如果你确信你的DLL只使用delphi调用你还可以将这个类的对象当做函数返回值,直接在应用程序里使用这个函数得到线程对象,然后操作。