我想在form1和form2各放一个按钮来动态的生成 form3,并通过form3里的选中按钮把form3上的数据送到form1或form2,我想知道怎么样实现返回数据是送到form1还是form2. 我想可能可以设一全局变量通过一个判断语句实现,但是不知道在那里设.
请高手,指点.或者有什么比较好的方法.

解决方案 »

  1.   

    在那里创建form3,比如在form1,就在form1取form3的数据
      

  2.   

    我是想通过一个判断实现将form3上的数据返回给form1和form2,比如,我建了一个form1(信息添加),form2(信息修改);form1和form2里的分类信息我想通过form3(分类选择)返回.
    现在问题是form1和form2都能通过按扭自动生成form3.但是只想通过 form3里的一个选中按纽把数据送到form1或form2.
      

  3.   

    重写constructor
    增加一个参数
    例如constructor Tform3.Create(AOwner: TComponent, sForm: String)在sForm里就可以传递是Form1还是Form2了
      

  4.   

    public
    constructor Tform3.Create(AOwner: TComponent, sForm: String);
    end;var
      Form3: TForm3;
      Fform:string;implementationconstructor TForm3.Create(AOwner: TComponent; sForm: String);
    begin
    FForm:=sForm;
    inherited create(Aowner);
    end;在form3的创建时
    form3=Tform3.create(self,self.name);
      

  5.   

    上面写错了
    public
      constructor Create(AOwner: TComponent;sForm: String);
    end;var
      Form3: TForm3;
      Fform:string;implementationconstructor TForm3.Create(AOwner: TComponent; sForm: String);
    begin
    FForm:=sForm;
    inherited create(Aowner);
    end;在form3的创建时
    form3=Tform3.create(self,self.name);
      

  6.   

    上面写错了
    public
      constructor Create(AOwner: TComponent;sForm: String);
    end;var
      Form3: TForm3;
      Fform:string;implementationconstructor TForm3.Create(AOwner: TComponent; sForm: String);
    begininherited create(Aowner);// 注意这里
    FForm:=sForm;end;在form3的创建时
    form3=Tform3.create(self,self.name);楼上的还是错了
    创建时先继承,再写自己的东西
    销毁时先销毁自己的东西,然后继承销毁
      

  7.   

    说白了,最简单的还是指针了。一个指针全部搞定,何必那么费事。
    你需要修改或生成的信息用一个类或记录表示,同时这个类或记录要事先声明是新建或从某个地方读出,再把这个地址传给form3,form3如果确定修改,就把修改的信息写到类或记录中。这就不必判断要把数据返回给谁了!
      

  8.   

    ad_lee(阳光)
    public
      constructor Create(AOwner: TComponent;sForm: String);
    end;var
      Form3: TForm3;
      Fform:string;implementationconstructor TForm3.Create(AOwner: TComponent; sForm: String);
    begininherited create(Aowner);// 注意这里
    FForm:=sForm;end;在form3的创建时
    form3=Tform3.create(self,self.name);运行出现
    ERROR setting debug excpetion hook
    是什么原因??
      

  9.   

    ad_lee(阳光)
    public
      constructor Create(AOwner: TComponent;sForm: String);
    end;var
      Form3: TForm3;
      Fform:string;implementationconstructor TForm3.Create(AOwner: TComponent; sForm: String);
    begininherited create(Aowner);// 注意这里
    FForm:=sForm;end;在form3的创建时
    form3=Tform3.create(self,self.name);运行出现
    ERROR setting debug excpetion hook
    还有
    [warning]unit1.pas(16):method 'create' hides virtual method of base type'TCustomForm'
    是什么原因??