同上急!!!!!
解决方案 »
- OLE DB error occured. Code 80040E14h.
- 父子窗体创建问题(急,在线等)
- 卸载时出现:解压缩支持文件时出错:拒绝访问
- 中文字符打印如何分行?
- 如何让TCPServer和TCPClient之间长时间维持连接状态?
- 有谁知道DBRadioGroup和adotable配合使用时,为什么不会选中字段中的值?
- 救命啊,救命啊!!!!!!!!!!
- dbgrideh中一列赋值问题
- 怎么用DELPHI把图标保存为16色以上?
- 关于ADOQuery的小问题。
- 用了皮肤,原来StringGrid保存未Excel的过程不能用了
- c语言中(*y)[i]=1.1; 怎样解释翻译成delphi语言!
unit MyTestThread;interfaceuses
Classes,SyncObjs;type
TMyThread = class(TThread)
private
//定义内部对象
FInterval:Integer;
{ Private declarations }
protected
procedure Execute; override;
public
constructor Create(CreateSuspend: Boolean);
destructor Destroy; override;
property Interval:Integer read FInterval write FInterval;
end;
procedure NotifyThreadsToQuit;var
QuitEvent: TEvent;implementationconstructor TMyThread.Create(CreateSuspend: Boolean);
begin
inherited;
//创建线程对象
end;destructor TMyThread.Destroy;
begin
//析构线程对象
inherited;
end;procedure TMyThread.Execute;
begin
while not Terminated do
begin
//do the procedure;
case QuitEvent.WaitFor(Interval) of
wrSignaled, wrAbandoned: Terminate;
wrTimeOut, wrError: ; // do nothing
end;
end; { Place thread code here }
end;procedure NotifyThreadsToQuit;
begin
QuitEvent.SetEvent;
end;initialization
QuitEvent := TEvent.Create(nil,True,False,'ThreadQuitEvent');finalization
QuitEvent.Free;end.
界面程序只要Use该单元,且执行NotifyThreadsToQuit即可!
//客户端调用线程;
var
MyThread:TMyThread;
begin
MyThread:=TMythread.Create(True);
MyThread.FreeOnTerminate:=False;
MyThread.Interval:=1000//Interval为毫秒级的;
MyThread.Resume;
end;
//客户端终止线程
procedure TForm1.Button1Click(Sender: TObject);
begin
NotifyThreadsToQuit
end;