Active Form有一个启动方法,在方法中启动工作线程。
线程发送一个消息给Form,但是Form怎么样才能收到这个消息呢?我现在的做法是在线程创建的时候,把Form的句柄做为参数传递给工作线程,线程再向这个句柄发消息,但是却没有任何响应。如果是直接在窗体本身的方法里发送消息,就可以正常收到。请问是什么问题?var
FOwner : THandle;
procedure TDebugActiveX.FireThread;
var
  Msg : TMessageThread;
begin
  Msg := TMessageThread.Create(Self.Handle);
  Sleep(10);
end;constructor TMessageThread.Create(AOwner: THandle);
begin
  inherited Create(False);  FOwner := AOwner;
  FreeOnTerminate := true;
  Sleep(10);
end;procedure TMessageThread.Execute;
begin
  PostMessage(FOwner, EventMessage, 0, 0);
end;procedure TDebugActiveX.GetMessage(var Msg: TMessage);
begin
  ...... //处理                            在窗体的这里收不到消息
end;