CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  非技术区

一个疑惑的问题

楼主zhlmxh(梦想成真)2006-03-04 17:00:30 在 Delphi / 非技术区 提问

新建一个数据模块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

相关问题

  • 疑惑!
  • 疑惑!
  • 疑惑??????
  • 疑惑
  • 疑惑!!!
  • 疑惑!?
  • 疑惑
  • 疑惑
  • 疑惑
  • 疑惑!!!!!!!

关键词

  • 模块
  • 数据
  • dmdata
  • datasave
  • 窗体
  • 调用
  • 创建
  • 实例
  • 对象
  • 成员变量

得分解答快速导航

  • 帖主:zhlmxh
  • janezjtjdx
  • halfdream

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo