乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 102|回复: 6

为什么会对变量定义两次呢?

[复制链接]

29

主题

503

帖子

8

银币

中流砥柱

Rank: 25

铜币
619
发表于 2010-11-23 12:26:00 | 显示全部楼层 |阅读模式
很奇怪的问题,附件的程序为什么会对变量定义两次呢?导致我的IExtensionApplication接口里面的赋值没有用了?
第一次是netload的时候在断点的地方断下
第二次是在第一个命令运行的时候又断了一下,说明对全局变量重新定义了一次。
测试环境:VS2010+2010

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-11-23 12:39:00 | 显示全部楼层
a只是成员变量,而不是全局变量
静态才是
static a;
回复

使用道具 举报

29

主题

503

帖子

8

银币

中流砥柱

Rank: 25

铜币
619
发表于 2010-11-23 13:53:00 | 显示全部楼层
问题是为什么会对a进行两次定义呢?
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-11-23 16:10:00 | 显示全部楼层
加载dll时,cad会首先搜索IExtensionApplication,并生成Class1 的实例1,运行Initialize函数,这是第一次
运行命令时,cad会再次生成一个Class1 的实例2,这是第二次
回复

使用道具 举报

29

主题

503

帖子

8

银币

中流砥柱

Rank: 25

铜币
619
发表于 2010-11-23 16:18:00 | 显示全部楼层
那如何避免对a进行两次定义呢,因为我在Initialize函数里面对a进行了赋值,第二次定义又把原值恢复了,导致后面的程序出现错误
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2010-11-23 17:49:00 | 显示全部楼层
把静态变量放到另外一个类里去
回复

使用道具 举报

29

主题

503

帖子

8

银币

中流砥柱

Rank: 25

铜币
619
发表于 2010-11-23 20:27:00 | 显示全部楼层
可以了,我把这些变量全部改成静态变量了。放到另一个类里比较麻烦。
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-15 17:39 , Processed in 0.443739 second(s), 71 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表