rt

解决方案 »

  1.   

    采用消息机制就可以啦,定好MSG的具体内容就可以分开操作了。
      

  2.   

    A:
     procedure WMLogin(var msg:Tmsg);message WM_User+111;
     procedure WMCancel(var msg:Tmsg);message WM_User+112;
    ....procedure Form1.CmdLoginClick(Sender:TObject);
    begin
       //--登录
    end;
    procedure Form1.CmdCancelClick(Sender:TObject);
    begin
       //--取消
    end;
    procedure WMLogin(var msg:Tmsg);
    begin
       CmdLoginClick(self);
    end;procedure WMCancel(var msg:Tmsg);
    begin
      CmdCancelClick(self);
    end;
    B:
    procedure form2.CmdLoginClick(Sender:TObject);
    var
      h:hwnd;
    begin
      h:=findwindow('TForm1',nil);   //--找到A句柄
      if h<>0 then
      begin
        postmessage(h,WM_USer+111,0,0);
      end;
    end;  procedure form2.CmdCancelClick(Sender:TObject);
    var
      h:hwnd;
    begin
      h:=findwindow('TForm1',nil);   //--找到A句柄
      if h<>0 then
      begin
        postmessage(h,WM_USer+112,0,0);
      end;
    end;