佚名通过本文主要向大家介绍了atl,atl71.dll,atl100.dll下载,atl71.dll修复,穿越火线atl71.dll等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: ATL中的接口要使用的变量该放哪儿(除全局变量外)?
描述:
解决方案1:
描述:
我声明了一个实现类的成员变量,int i;在两个方法中使用它,但值完全不一样,怎么解释?代码:
STDMETHODIMP Cabc::con(BSTR ser)
{
i = 100; //对成员变量赋初值
return S_OK;
}
STDMETHODIMP Cabc::snd(BSTR msg)
{
int a = i; //使用成员变量
return S_OK;
}
调试时发现:一旦使用另一方法(如方法snd),i的值就突变为-589321457,搞不懂,请高手来拨开密云,拜谢!
解决方案1:
从你头文件看,如果打开对i的注释,那么对i的声明是对的,i值变化可能是使用中的问题,比如有其他的指针越界了,等。
解决方案2:好象根据COM规则接口不能有成员变量,它只能有虚函数
解决方案3:不是说i的值不对吗?你帖出的代码里没有i
解决方案4: 接口的实现类中才能有成员变量!我都做了多少个了!没有问题的!
成员怎么不使一块内存呢?你的代码贴出来!我看看你的成员变量放在哪里了?