首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

static型的COM变量,程序退出时错误

2012-09-17 
static型的COM变量,程序退出时异常请问:1 程序中所有创建的COM组件变量(CoCreateInstance创建)都必须在CoU

static型的COM变量,程序退出时异常
请问:
  1 程序中所有创建的COM组件变量(CoCreateInstance创建)都必须在CoUninitialize之前进行?
  2 程序中static型变量分配的内存,则在Winmain返回后由编译器释放的?
  3 如果以上两条成立的话,那么就不能避免的在CoUninitialize之后,释放COM变量会发生异常,该问题应该如何解决?

  请高手帮忙回答一下,谢谢

[解决办法]
可以这样试试

定义一个辅助类


class CComEnvironment
{
public:
CComEnvironment()
{
CoInitialize(NULL);
}
~CComEnvironment()
{
CoUninitialize();
}
};

在你的静态变量定义前

先定义
static CComEnvironment COM_ENV;

热点排行