S stanely Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #1 interface部分的uses和implementation部分的效果都一样么? 至少对于use包含全局变量的单元来说,效果一样的。。 为什么delphi还要在两个不同的地方设置引用呢?
F frankly Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #3 效果不一样,在其他form中能否调用implenment中的变量吗?
W wangxiaoling Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #4 interface部分的uses 只用于全局 implementation部分的只用于本Form
B beta Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #5 //implementation部分的只用于本Form 应该说用于本 Unit 更准确些
S sygzch Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #6 [8D][8D]有两个单元:unit1、unit2,在unit1的interface部分uses unit2, 且在unit2的interface部分uses unit1,程序编译时就会出错。 至少有一个应在implementation部分uses。
[8D][8D]有两个单元:unit1、unit2,在unit1的interface部分uses unit2, 且在unit2的interface部分uses unit1,程序编译时就会出错。 至少有一个应在implementation部分uses。
H HunterTeam Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #7 应尽可能放在implementation部分uses,正如sygzch所言。
E eulb Unregistered / Unconfirmed GUEST, unregistred user! 2002-02-09 #8 同意sygzch所说的 一般自己写的unit,而且不包括窗口的,放在implementation后uses
S stanely Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-01 #9 to sygzch : 就是说为了编译不出错才这样做的? to wangxiaoling: 那么unit 1的interface uses了 unit3,unit2 的什么部分写uses unit1,才能让unit2不用写uses unit3,就能用到unit3的内容呢? 是不是不能?
to sygzch : 就是说为了编译不出错才这样做的? to wangxiaoling: 那么unit 1的interface uses了 unit3,unit2 的什么部分写uses unit1,才能让unit2不用写uses unit3,就能用到unit3的内容呢? 是不是不能?
S stanely Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-01 #10 to sygzch : 就是说为了编译不出错才这样做的? to wangxiaoling: 那么unit 1的interface uses了 unit3, 那么unit2 的什么部分写uses unit1,才能让unit2不用写uses unit3,就能用到unit3的内容呢? 是不是不能?
to sygzch : 就是说为了编译不出错才这样做的? to wangxiaoling: 那么unit 1的interface uses了 unit3, 那么unit2 的什么部分写uses unit1,才能让unit2不用写uses unit3,就能用到unit3的内容呢? 是不是不能?
D DT Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-01 #11 随便什么地方,只要你在unit2里任何地方引用了unit1就可以使用unit1的Interface 里uses的东西。只不过,如果你在unit2的impl...里uses unit1那么在其他引用unit2的 单元将不能使用unit3
随便什么地方,只要你在unit2里任何地方引用了unit1就可以使用unit1的Interface 里uses的东西。只不过,如果你在unit2的impl...里uses unit1那么在其他引用unit2的 单元将不能使用unit3
S sygzch Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-03 #13 为了编译不出错才这样做,这只是一个方面; 另外一个方面,是因为引用类型,举个例子: 假设在unit2中定义了一个类型:TAnyType,在unit1中如下引用: unit unit1; interface uses unit2 //必须在此引用 type TForm1 = class(TForm) private T: TAnyType //TAnyType在unit2中定义 public end; implementation end.
为了编译不出错才这样做,这只是一个方面; 另外一个方面,是因为引用类型,举个例子: 假设在unit2中定义了一个类型:TAnyType,在unit1中如下引用: unit unit1; interface uses unit2 //必须在此引用 type TForm1 = class(TForm) private T: TAnyType //TAnyType在unit2中定义 public end; implementation end.
晶 晶晶 Unregistered / Unconfirmed GUEST, unregistred user! 2002-03-31 #14 如果两个不同的单元文件要互相引用就要区别了,interface的uses在全程序中都可以引用 ,若两个互相在这里引用就会引起循环引用,编译肯定出错,在implementation部分就没有 这种情况出现,所以我建议大家,如果不是要有其他用途,还是都在implementation后面 的uses中写上要引用的单元,可以避免循环引用,我的这个习惯可以保证不会出现这方面 的错误了!
如果两个不同的单元文件要互相引用就要区别了,interface的uses在全程序中都可以引用 ,若两个互相在这里引用就会引起循环引用,编译肯定出错,在implementation部分就没有 这种情况出现,所以我建议大家,如果不是要有其他用途,还是都在implementation后面 的uses中写上要引用的单元,可以避免循环引用,我的这个习惯可以保证不会出现这方面 的错误了!