unit u1;
interface
uses u2;
type 
    ta=class 
      private 
            mem:Tb
      end;
implementation
end.unit u2
interface
uses u1;
type 
    tb=class
      private 
            mem:ta;
      end;
implementation
end.上面是两个unit,在不同的文件中
互相包含显然是不允许的
但我想在ta中有tb实例的成员函数
tb 中有ta 实例的成员函数;
这该怎么办?
把uses放在implementation位置可以避免循环调用,
但不能使
在ta中有tb实例的成员函数
tb中有ta 实例的成员函数
高手指点!

解决方案 »

  1.   

    同意 yczyk(小周) 做成public就成
      

  2.   

    我知道在一个unit中是可以的,
    为什么不能放在两个unit里呢?
    两个unit都很大,我想放在不同的文件里,编辑顺手。上面举的例子也只是架设,
    在我的unit中是互相作为参数使用的。
      

  3.   

    按照 理论,如果两个UNIT相互调用的话,这个代码是不成功的代码
      

  4.   

    建议去看看《delphi 5开发人员指南》中关于单元引用一节。有关于循环引用的介绍和解决办法。
      

  5.   

    以前答过,见http://expert.csdn.net/Expert/topic/687/687624.xml?temp=.2627069
      

  6.   

    看看implements的幫助吧,也許會有用。
      

  7.   

    感谢大家,
    看来只有写在一个unit里好了
      

  8.   

    比如Unit1,Unit2.在Unit1的interface中Uses Unit2。在Unit2的implementa
    tion中Uses Unit1就不会冲突了。