U undo Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-21 #1 有没那位大大可以告诉我 在单元里,两个uses的区别呢? 一个是在开头时的uses 一个是声明后的uses...两个引用有什么区别?
U undo Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-21 #2 有没那位大大可以告诉我 在单元里,两个uses的区别呢? 一个是在开头时的uses 一个是声明后的uses...两个引用有什么区别?
T turtlesam Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-22 #3 头一个是表明所引用单元的类型在本单元全局可用..后一个是所引用单元的类型只能在可执行部分可用..不能在本单元的声明部分使用...;以上是类型..如是变量,则是全局与局部的区别...; 头一个uses相当于C/C++的头文件..可以引用别处定义的类型与变量...
头一个是表明所引用单元的类型在本单元全局可用..后一个是所引用单元的类型只能在可执行部分可用..不能在本单元的声明部分使用...;以上是类型..如是变量,则是全局与局部的区别...; 头一个uses相当于C/C++的头文件..可以引用别处定义的类型与变量...
H helloqiner Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-22 #4 同意 turtlesam 的说法,属于基础问题
U undo Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-22 #5 嘻嘻两位的指导,我是个刚刚开始学习Delphi编程的菜鸟.感谢~
P publicnews Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-23 #6 不是在声明部分用到的最好放在implementation后uses
G gujw Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-24 #7 A引用B,如果在interface部分引用,那么B的interface发生变化,就等于A的interface发生变化,所有usesA的单元都要重新编译。 如果在implementation引用,只需要重新编译A。
A引用B,如果在interface部分引用,那么B的interface发生变化,就等于A的interface发生变化,所有usesA的单元都要重新编译。 如果在implementation引用,只需要重新编译A。
W wanghaiou Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-26 #8 我认为如果程序对性能没有太大的要求的话 最好把所有需要引用的单元放到 开头时的uses里 这样省事,省得有的时候还会出现 什么变量没有定义的错误。
D dongy_143 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-26 #10 为了增加程序的可读性,我认为还是分开写的比较好!
B babibean Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-28 #11 同意 turtlesam 的说法,另外补充一点,如果两个地方都可以放的话,可以把delphi自带的单元放在interface部分,而把你自己的放在implementation.
W Walnut_Tom Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-28 #12 同意babibean的观点。放在这里还可以避免循环引用
沙 沙隆巴斯的主人 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-28 #14 之所以有两个USES,就是为了解决循环引用的问题。 至于在interface部分还是在implementation部分来引用应该取决于引用与被引用的两个UNIT的相互关系。如果A UNIT强依赖B UNIT,那么B应该放在A 的INTERFACE部分的USES里。 例如 Unit Vehicle 就强依赖 Unit Wheel,应该把 Wheel 放在Vehicle的interface 里引用。但有时候Wheel会用到Vehicle的东西,你就不可以把Vehicle放在Wheel的interface里引用了,因为这会导致循环引用。所以在DELPHI引入了第二个USES——在implementation里面的USES。
之所以有两个USES,就是为了解决循环引用的问题。 至于在interface部分还是在implementation部分来引用应该取决于引用与被引用的两个UNIT的相互关系。如果A UNIT强依赖B UNIT,那么B应该放在A 的INTERFACE部分的USES里。 例如 Unit Vehicle 就强依赖 Unit Wheel,应该把 Wheel 放在Vehicle的interface 里引用。但有时候Wheel会用到Vehicle的东西,你就不可以把Vehicle放在Wheel的interface里引用了,因为这会导致循环引用。所以在DELPHI引入了第二个USES——在implementation里面的USES。
H h_backup Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-29 #15 续沙隆巴斯的主人 如果必须在implementationg后面用uses 那么说明可能出现单元间的相互引用了 应该避免这个问题
M majun5452 Unregistered / Unconfirmed GUEST, unregistred user! 2005-06-29 #16 一般的方式是,若unit a,b 是同一模块下,且要相互引用对方并同时都要use c, 应该在implementation a的use b b的use a, a b的interface 中use c
Y YuZi Unregistered / Unconfirmed GUEST, unregistred user! 2005-07-01 #20 两个uses并不是完全是为解决循环引用的问题吧,照指南中所说应该主要是用以区别全局声明和局部声明,然后就是如majun5452所说了,把A,B单元中公共的代码放在C中,引用C,尽量避免两个单元相互引用,即便是放在implementation下。
两个uses并不是完全是为解决循环引用的问题吧,照指南中所说应该主要是用以区别全局声明和局部声明,然后就是如majun5452所说了,把A,B单元中公共的代码放在C中,引用C,尽量避免两个单元相互引用,即便是放在implementation下。