加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 10:00:23 所属栏目:大数据 来源:网络整理
导读:Delphi?中的引用 ? (2008-07-25 11:04:32) 转载 ▼ 标签: ? it 分类: ?Delphi开发 ? 在Delphi中,使用uses语句来引用其他单元,分别在两个地方可以使用uses。 1.在interface部分,使用uses,是公有引用,本单元中在interface和implementation中,都可以使

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中就不能使用了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读