在MFC 的EXE程序中,我知道用在InitInstance中可以初始化AfxOleInit()
但是在扩展DLL中,在哪里初始化呢?
但是在扩展DLL中,在哪里初始化呢?
解决方案 »
- 请教:装了一个宏狗开发包,之后VS2005编译不了
- C++中0x00000001L与0x00000001有区别吗?
- 蛋疼的小问题。。DLL编译出的Release版本放在所加载的工程中运行出错,Debug版本加载后运行完全OK。。各位英雄进来瞧一瞧。。
- 如何不省略数字前面的0呢??
- 文件删除?急急!!
- 急,100分求助:怎么保存ie输入框的历史记录,比如baidu搜索框,email登陆框等
- 寻找熟悉微软.net架构的程序员
- gif显示问题 (gif提取)
- 这是什么木马(病毒?).
- 请问如何动态生成控件!???
- 如何用CHttpFile上传文件
- 求助win 7安装vc6.0后程序编译报错( error LNK1104)的问题
我在DllMain中初始化了AfxOleInit(),但是,当使用
HRESULT hr=m_connection.CreateInstance(__uuidof(Connection));时
结果,hr!=0,请问是什么原因
(2)在打开的对话框中选择 InitInstance 函数,添加到工程代码中;
(3)然后再函数中添加 AfxOleInit()即可。
比较笨,没有理解:"工程名称App"类,我是在vc6下建立的MFC扩展DLL,没有找到相应的类啊?
"扩展DLL的话就夹在DllMain里,刚才说的方法是常规DLL中添加的方式"???我在DllMain里面加入了AfxOleInit();在 stdafx.h里也添加了:
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ADO\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB;但是,当 HRESULT hr=m_connection.CreateInstance(__uuidof(Connection));时hr仍然!=0
请问是什么原因?
对于常规dll和扩展DLL的说明你可以看下介绍这部分内容的书。对于HRESULT 返回不同的值有很多中情况,你可以参考MSDN,对于返回结果你可以用 if (SUCCEEDED(hr))来判断下,返回TRUE,则说明对象创建成功了
代码可否发到我邮箱[email protected]帮你看下!
谢谢,我把AfxOleInit() 换成: CoInitialize(NULL);了之后,hr=0了,
但是扩展的DLL请问在哪里CoUninitialize();?
你应该编写你的DLL文档通知调用者你的DLL调用之前需要初始化COM。