来来讨论下线程的开启和关闭 ( 积分: 100 )

  • 主题发起人 主题发起人 adomy
  • 开始时间 开始时间
A

adomy

Unregistered / Unconfirmed
GUEST, unregistred user!
我建了一个 hhandle:=CreateThread(nil,0,@SendData,nil,0,idthread);但是我要暂停他怎么做?如何操控线程开启,挂启和恢复?请大家给点实例!送上100分
 
我建了一个 hhandle:=CreateThread(nil,0,@SendData,nil,0,idthread);但是我要暂停他怎么做?如何操控线程开启,挂启和恢复?请大家给点实例!送上100分
 
晕,没有使用 thread类啊,那就看thread的源代码吧.
 
暂停(挂起):SuspendThread
恢复(启动):ResumeThread
 
查MSDN
ResumeThread
SuspendThread
 
我没有加类直接写个过程,就对这个过程进行处理
 
一个小程序就是有点类似抽奖机的,我从数据库中读取数据库在memo中显示有三个按钮1。开始2。暂停3。关闭
我读数据库的过程是开了一个SendData的线程在”开始“按钮:hhandle:=CreateThread(nil,0,@SendData,nil,0,idthread);实现,那我在2。暂停该怎么写呢,然后要按1。开始重新唤醒这个如何实现?谢谢大家想想该怎么实现!
 
unit Unitxx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
Const WM_MyMSG=WM_USER+1003;
type
my = class(TThread)
private
{ Private declarations }
protected
procedure Execute;
override;

end;

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure onmymsg(var message:TMessage);message WM_MyMSG;

public
{ Public declarations }
end;

var
Form1: TForm1;
var
m1:dword;

implementation
{$R *.dfm}
procedure TForm1.onmymsg(var message: TMessage);
begin
showmessage('123');
end;

procedure TForm1.Button1Click(Sender: TObject);
var m:my;
begin

m:=my.Create(false);
m.FreeOnTerminate:=true;
sendmessage(m1,WM_MyMSG,0,0);
end;

{ my }
procedure my.Execute;
begin
inherited;
sendmessage(form1.Handle,WM_MyMSG,0,0);

end;


end.

//贴代码了事
 
我解决了谢谢大家
 
后退
顶部