假如自己在Unit2定义了一个叫Tttt的类或者结构,如果不放在Unit1的interface下,那么如下将会有编译错误:procedure MyProc(t:Tttt);implementation

解决方案 »

  1.   

    to  stanely(俺是邢她汉子) :
    不见得.uses 的內容放在interface下面: 从DELPHI的LIB目录开始找相关的DCU, 然后再找当前PROJECT对应的目录.
    uses 的內容放在implementation下面: 从当前PROJECT对应的目录找相关的DCU., 然后再找DELPHI的LIB目录的DCU.
      

  2.   

    interface下的内容外部单元可以看见,是一个接口
    implementation 的内容不能被外部单元看见
    例如,interface 
             procedure  MyProdedure1();
          //
          ......
          implementation 
             procedure  MyProdedure2();
    其他单元可以调用MyProdedure1(),但不能调用MyProdedure2();
    当然,MyProdedure1()可以调用MyProdedure2();
      

  3.   

    主要是避免相互引用,如form1在interface引用了unit2。那么form2就只能在implementation引用unit1,这样就不算是重复引用了。
      

  4.   

    我想可能跟程序编译结果有关吧,放在IMPLEMENTION下会更节省些
      

  5.   

    ahuige(灰不遛秋) ,那么重复引用了以后的會怎么樣呢?
      

  6.   

    重复引用会编译就报错
    简单地说
    你不能在inter里面说 a uses b ; b又 uses a
    如果的确需要
    那么 一个在inter里面,一个在 inmp里面用就可以对于主form里面的 interface部分的 uses.
    应该是放在lib目录下面的已经编译过的dcu单元.