Delphi 中的引用 (2008-07-25 11:04:32)

来源:互联网 发布:淘宝网护腰带 编辑:程序博客网 时间:2024/05/21 18:34

Delphi 中的引用

 (2008-07-25 11:04:32)
转载
标签: 

it

分类: Delphi开发

 在Delphi中,使用uses语句来引用其他单元,分别在两个地方可以使用uses。

1.在interface部分,使用uses,是公有引用,本单元中在interface和implementation中,都可以使用引用到的单元。

2.在implementation部分使用uses,是私有引用,被引用到的单元只能在implementation中使用。

 

在interface部分的uses,如果不小心,有可能会造成循环引用,这在各种语言中都有可能会碰到,VC++ 中的情况和解决办法,我写在另一篇文章《include头文件的陷阱》中http://blog.sina.com.cn/s/blog_4dbbf76f01000904.html

 

同样在delphi中避免循环引用的方法是:如果只在inplementation中使用到,那我们就只在inplementation中uses,因为是私有引用,被引用到的单元在引用本单元的其他单元中不可见,就避免了循环引用的问题。

不过也正因为是私有引用,我们要注意一个细节问题,举例来说:

 

A.pas 文件中我们定义了Afunc函数,B.pas文件中我们定义了Bfunc函数,此时,我们在C单元中,在interface部分引用A单元,在implementation部分引用B单元,那么在C单元中,Afunc和Bfunc两个函数我们都能使用。但是,当我们在D单元中引用C单元后,因为A在C中是公有引用,故我们在D中也能使用,但B在C中是私有引用,我们在D中就不能使用了。

0 0
原创粉丝点击