我使用一个fform2:tform2来实现tform1的实例调用tform2实例数据
但如何用tform2来调用tform1呢?难道在tfrom2中再建立一个fform1:tform1????????(好像即使建立了也不能实现)
unit1
type 
  tform1=class(tform)
private
  fform2:tform2;
endprocedure TForm1.Button1Click(Sender: TObject);
  begin 
  fform2:=tform2.Create(self);
  fform2.Show;
  showmessage(fform2.aa);
end;unit2
type
tform2:class(tform)
public
aa:string
end
小弟初学
请各位赐教
谢谢了

解决方案 »

  1.   

    只需在implementation下写引用部分即可
    uses 
      Unit1;  //Form1窗体文件的单元
      

  2.   

    看你的form1是怎么生成的
    最好用:
    try
      form1:=tform1.create(nil);
      form1.showmodal;
    finally
      form1.free;
      form1:=nil;
    end;
    这样就可以在fform2中use unit1然后直接引用form1.bb等数据
    如果用:
    with tform1 do
      create;
    end;
    这种方法就不好办了
      

  3.   

    我的意思是不使用delphi自动产生的全局窗体变量form1,form2该如何实现数据交换
      

  4.   

    那你在view projec中定义一个全局变量试试看。
    我着儿没有开发环境。sorry!--------------------------
    共同学习,新手!
      

  5.   

    mother fu cker....get out here..
      

  6.   

    看看这篇文章吧
    肯定会对你有帮助的,
    最好在留意一下别人的回复
    对你会有启发的
    http://dev.csdn.net/article/66/66798.shtm
    利用自定义事件实现不同窗体间的通讯 -- Delphi篇
      

  7.   

    玩笑开完了,说说正题因为fform2:=tform2.Create(self);所以fform2.aa:=Tform1(fform2.owner).caption
      

  8.   

    能再给点意见吗??
    我觉得这个问题其实是OOP的问题
      

  9.   

    看看这篇文章吧
    肯定会对你有帮助的,
    最好在留意一下别人的回复
    对你会有启发的
    http://dev.csdn.net/article/66/66798.shtm
    利用自定义事件实现不同窗体间的通讯 -- Delphi篇
    -----再贴一遍......
      

  10.   

    你说的信息交换是什么意思? 只有在对象间才有信息交换。 类之间不存在信息交换。
    按面向对象的思想,对象间信息交换最好只通过消息(与我们常说的windows消息不是一个概念)传递,也就是通过调用对象的方法,来实现。
    如果你有form1对象和form2对象,那么,要在他们之间交换信息很简单啊,比如,在form1中调用form2.doSomething(...),或者访问form2.someField。 不知道你的问题是什么。
      

  11.   

    我明白楼主的意思了。
    form1有form2的引用,但form2又要与form1交互。
    可以这样:
    给TForm2加一个私有字段,就是对Form1的引用。
    private theForm1 : TForm1;重写TForm2的构造函数:
    constructor TForm2.create(theForm1:TForm1)
    begin
      inherited create(...);
      self.theForm1 := theForm1;
    end;你好像是在Form1中创建的form2。 那么,把创建form2的代码改为:
    form2:= TForm2.create(self);就ok了。
    在你创建的form2对象中,包含一个对form1的引用 privete theForm1. 现在可以在form2中通过它访问form1了。
      

  12.   

    多谢各位了
    尤其是 heluqing(鉴之小河〖挣大钱娶美女〗) 和 honkiko(honky) 
    非常感谢!
    结帖!
      

  13.   

    我知道怎么解决我遇到的问题了
    但我觉得有这样的情况是设计不合理造成的
    要实现OOP还是真的挺难的