[阅读: 562] 2005-01-23 13:11:13
Delphi的单元之间的组件相互引用
比如,有一个DataModule,其中有一个Database,然后有另外一个Form,其中有一个Query
Form上的Query引用到DataModule上的Database,这是我们常用的模式
此时,你看看Form的资源,Query对Database是一个跨越单元的对象引用
在Form资源中保存的是 [DataModule名.Database]
那么,Form装载过程中,必须按照DataModule名找到对应的DataModule实例
然后查找其中的Database实例,然后再把这个对象引用设置到Query的属性中去
这个DataModule查找过程,是存在危险的
我们以前的产品,大量使用从资源中动态装载对象实例的模式
结果发现,当被引用Module名字相通的时候,上面的装载过程可能会查找到一个错误的Module实例
然后产生找不到被引用对象的错误
DISSENT IS THE HIGHEST FORM OF PATRIOTISM !
--Thomas Jefferson