声明部分:
type
TTestThread = class(TThread)
private
Fadoq:TADOQuery;
Answer:integer;
protected
procedure GiveAnswer;
procedure Execute;override;
constructor Create(adoq:Tadoquery);
end;
实现部分:
{ TTestThread }
constructor TTestThread.Create(adoq: Tadoquery);
begin
inherited Create(True);
Fadoq := adoq;
end;
procedure TTestThread.Execute; //这个事件根本就没执行到?如何解决?
begin
inherited;
freeonterminate:=true;
synchronize(giveanswer);
end; procedure TTestThread.GiveAnswer;
begin
Fadoq.Open ; //这个事件根本就没执行到?如何解决?
end;
调用:
procedure TForm1.Button1Click(Sender: TObject);
var
NewThread : TTestThread;
begin
newthread := ttestthread.Create(adoquery1) ;
end;
这是在线程里打开query的一个例子,当我去调用的的时候,它并不会执行procedure TTestThread.Execute这个过程,如何调用的?线程不是太懂,谢谢指教?
type
TTestThread = class(TThread)
private
Fadoq:TADOQuery;
Answer:integer;
protected
procedure GiveAnswer;
procedure Execute;override;
constructor Create(adoq:Tadoquery);
end;
实现部分:
{ TTestThread }
constructor TTestThread.Create(adoq: Tadoquery);
begin
inherited Create(True);
Fadoq := adoq;
end;
procedure TTestThread.Execute; //这个事件根本就没执行到?如何解决?
begin
inherited;
freeonterminate:=true;
synchronize(giveanswer);
end; procedure TTestThread.GiveAnswer;
begin
Fadoq.Open ; //这个事件根本就没执行到?如何解决?
end;
调用:
procedure TForm1.Button1Click(Sender: TObject);
var
NewThread : TTestThread;
begin
newthread := ttestthread.Create(adoquery1) ;
end;
这是在线程里打开query的一个例子,当我去调用的的时候,它并不会执行procedure TTestThread.Execute这个过程,如何调用的?线程不是太懂,谢谢指教?
procedure TForm1.Button1Click(Sender: TObject);
var
NewThread : TTestThread;
begin
newthread := ttestthread.Create(adoquery1) ;
newthread.Resume ;
end;