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

请教在线程中通过ole来生成excel表格,提示CoIntiailize未定义

2012-03-15 
请问在线程中通过ole来生成excel表格,提示CoIntiailize未定义。在线程中通过ole来生成excel表格,我加了头文

请问在线程中通过ole来生成excel表格,提示CoIntiailize未定义。
在线程中通过ole来生成excel表格,我加了头文件#include "Utilcls.h"后,仍提示CoIntiailize未定义。这是为什么呢?
我是在线程中调用一个函数1,通过函数1来调用另外一个函数2,在函数2中使用ole控件来生成表格。
线程声明的是全局的,但个函数1和函数2声明的是一个类里面的。



[解决办法]
如果你是在dll里使用ole,需要在开始加上CoIntiailize

例如:
开始处
CoInitialize(NULL);
结束
CoUninitialize();

如果是dll里,可以这样
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
if(reason==DLL_PROCESS_ATTACH)
{
CoInitialize(NULL);
}
if(reason==DLL_PROCESS_DETACH)
{
CoUninitialize();
}
return 1;
}
[解决办法]
在子线程的构造函数中调用CoInitialize,然后在子线程的析构函数中调用CoUninitialize即可。

热点排行