我想从一个线程中把一个记录传递到主窗口中,使用postmessage
谢谢

解决方案 »

  1.   

    传记录我想应该不可以,不过可以把结构体中必要的信息为wParam,lParam赋值传递
      

  2.   

    myrecord = record
    x,y:integer;
    end;
    pmyrecord=^myrecord;
    procedure TForm1.Button1Click(Sender: TObject);
    var prec:pmyrecord;
    begin
      getmem(prec,sizeof(myrecord));
      prec.x:=40;
      postmessage(self.Handle,wm_sendrecord,integer(prec),0);
    end;procedure TForm1.Onwm_sendrecord(var msg: TMessage);
    var prec:pmyrecord;
    begin
      prec:=pmyrecord(msg.WParam);
      showmessage(inttostr(prec^.x));
      freemem(prec,sizeof(myrecord));
    end;
      

  3.   

    const wm_sendrecord = wm_user+101;procedure Onwm_sendrecord(var msg:TMessage);message wm_sendrecord;