为什么会对变量定义两次呢?
很奇怪的问题,附件的程序为什么会对变量定义两次呢?导致我的IExtensionApplication接口里面的赋值没有用了?第一次是netload的时候在断点的地方断下
第二次是在第一个命令运行的时候又断了一下,说明对全局变量重新定义了一次。
测试环境:VS2010+2010
**** Hidden Message ***** a只是成员变量,而不是全局变量
静态才是
static a;
问题是为什么会对a进行两次定义呢?
加载dll时,cad会首先搜索IExtensionApplication,并生成Class1 的实例1,运行Initialize函数,这是第一次
运行命令时,cad会再次生成一个Class1 的实例2,这是第二次
那如何避免对a进行两次定义呢,因为我在Initialize函数里面对a进行了赋值,第二次定义又把原值恢复了,导致后面的程序出现错误
把静态变量放到另外一个类里去 可以了,我把这些变量全部改成静态变量了。放到另一个类里比较麻烦。
页:
[1]