sailorcwx 发表于 2010-11-23 12:26:00

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

很奇怪的问题,附件的程序为什么会对变量定义两次呢?导致我的IExtensionApplication接口里面的赋值没有用了?
第一次是netload的时候在断点的地方断下
第二次是在第一个命令运行的时候又断了一下,说明对全局变量重新定义了一次。
测试环境:VS2010+2010
**** Hidden Message *****

雪山飞狐_lzh 发表于 2010-11-23 12:39:00

a只是成员变量,而不是全局变量
静态才是
static a;

sailorcwx 发表于 2010-11-23 13:53:00

问题是为什么会对a进行两次定义呢?

雪山飞狐_lzh 发表于 2010-11-23 16:10:00

加载dll时,cad会首先搜索IExtensionApplication,并生成Class1 的实例1,运行Initialize函数,这是第一次
运行命令时,cad会再次生成一个Class1 的实例2,这是第二次

sailorcwx 发表于 2010-11-23 16:18:00

那如何避免对a进行两次定义呢,因为我在Initialize函数里面对a进行了赋值,第二次定义又把原值恢复了,导致后面的程序出现错误

雪山飞狐_lzh 发表于 2010-11-23 17:49:00

把静态变量放到另外一个类里去

sailorcwx 发表于 2010-11-23 20:27:00

可以了,我把这些变量全部改成静态变量了。放到另一个类里比较麻烦。
页: [1]
查看完整版本: 为什么会对变量定义两次呢?