我是一个刚开始学习delphi的菜鸟,遇到一个问题,想请教各位大侠
我想在两个Form中传递参数,在form1中打开form2的时候如何将form1的参数传递给form2?他们不是父窗口与子窗口的关系。这两个form在同一个project中。
谢谢

解决方案 »

  1.   

    form1可以直接访问form2的对象。
    在form2中定义几个属性,在form1中给属性赋值,form2就可以访问form1传递的参数值
      

  2.   

    在form1的Uses语句中增加form2所在的单元的名字,然后就可以使用了;
    在form1中可以使用:
    form2的变量,form2.XXX;
    form2所在的单元的变量,如 form2所在的单元.XXX
      

  3.   

    楼上的是!不加form就定义个全局变量!
      

  4.   

    在unit1中的  uses中加入  unit2.pas;再在unit2中的imp...部分加uese unit1;
      

  5.   

    那如果form2被封装在dll中还可以用定义变量的方式吗?
      

  6.   

    unit2
    const
      WM_RunChild=WM_USER+121;
    procedure WMRunChild(var Msg:TMessage);Message WM_RunChild;
    procedure TChildForm.WMRunChild(var Msg: TMessage);
    begin
       Edit1.Text:=PAnsiString(MSg.WParam)^;
       Edit2.Text:=PAnsiString(Msg.LParam)^;
    end;
    unit1
    SendMessage(ChildForm.Handle,WM_RunChild,LongInt(@X),LongInt(@Y));
      

  7.   

    可以重新写构造函数;
    public
      constructor MyCreate(AOwner: TComponent; myparam: integer);
    constructor TFrom2.MyCreate(AOwner: TComponent; myparam: integer);
    begin
      inherited Create(Aowner);
    end;