现在的位置: 首页 > 综合 > 正文

终于解决了这个怪问题

2013年05月26日 ⁄ 综合 ⁄ 共 456字 ⁄ 字号 评论关闭

  重复启动关闭MDI程序的子窗口就会出现一个异常,然后就中断到:
inline _variant_t::_variant_t(IDispatch* pSrc, bool fAddRef) throw()
{
 V_VT(this) = VT_DISPATCH;
 V_DISPATCH(this) = pSrc;
 // Need the AddRef() as VariantClear() calls Release(), unless fAddRef
 // false indicates we're taking ownership
 //
 if (fAddRef) {
  V_DISPATCH(this)->AddRef();  《--------这一行。
}
}

并且fAddRef的value是1,开始还以为启动子FRMAE的时候哪地方没有释放或关闭,最后跟踪啊调试啊找问题啊,最后找到罪魁祸首的是我自己封装的数据库类,在构造函数中没有调用::CoInitialize(NULL);而在析构函数中却调用了::CoUninitialize() 难怪不得会出错啊。。粗心了。

抱歉!评论已关闭.