中国开发网: 论坛: 程序员情感CBD: 贴子 86175
李颖: 我说的Bug包括
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

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录