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

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值