一个疑惑的问题
新建一个数据模块dmData,在其公共区(Public)定义一个过程DataSave,当我在另一个窗体中调用这个数据模块的DataSave过程时,发现dmData没有创建即dmData = nil也可以调用DataSave,心里有些疑惑,为什么数据模块dmData为空也能调用其公共区中的过程呢?dmData没有创建,过程DataSave就已存在了吗?。我试了一下创建一个窗体也存在这个现象。
请大家帮助排除疑惑。
问题点数:50、回复次数:3Top
1 楼janezjtjdx(学习中)回复于 2006-03-04 18:37:16 得分 5
你选择在菜单中选择Project-->options--->Forms,你会发现Auto-create forms小窗体中有dmData,把它移到Available forms中就不行了。Top
2 楼zhlmxh(梦想成真)回复于 2006-03-04 21:49:19 得分 0
dmData在Auto-create forms中已经移除了Top
3 楼halfdream(哈欠)回复于 2006-03-04 21:55:20 得分 45
那是一种不安全的用法.
在未创建类实例的时候,对象的成员函数已经在内存中,为多个对象实例所共享.
这与成员变量不同,成员变量要类实例创建后,才在内存里分配.
这样,当你那个对象方法里没有访问对象成员变量时候..这时候不创建对象通常也不会报错.
Top




