CoCreateInstance
现象:我在exe CoCreateInstance 能共产生com对象,可转移到dll中竟然创建不了com对象了。
检查:
1、CoInitialize(NULL); 已经被加上了。
2、另外com能被建立,不同的地方是这个com中调用了组件。
3、找个显示错误的函数来看看错误,
void ShowErrMsg()
{
LPVOID lpMsgBuf;
DWORD dw = GetLastError();
FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
NULL,
dw,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
(LPTSTR) &lpMsgBuf,
0, NULL );
MessageBox(NULL, (TCHAR*)lpMsgBuf, _T("系统错误"), MB_OK|MB_ICONSTOP);
LocalFree(lpMsgBuf);
}
提示没有找到应用程序。 会找不到那个文件呢?
本文探讨了在DLL中使用CoCreateInstance创建COM对象时遇到的问题。虽然在EXE环境中可以成功创建,但在DLL环境下却失败。文章通过检查初始化过程、调用组件情况及错误显示函数来定位问题,并提示可能是因为找不到特定文件导致。
1047

被折叠的 条评论
为什么被折叠?



