mysql导出无效的类字符串progid_CLSIDFromProgID返回“无效的类字符串”,ProgID在注册表中有,为什么还返回无效的错误?...

问题: CLSIDFromProgID返回“无效的类字符串”,ProgID在注册表中有,为什么还返回无效的错误?

描述:

写了一个名为MyProject.dll的服务器COM组件,原先工程中REGISTRY中并没有向注册表写ProgID的信息,后来自己添上了,如下:

ProgID  = s 'MyProject.MyCom';

查看注册表显示这个dll注册是成功的。

在客户端程序(基于对话框的MFC APP)中,stdafx.h中添加了如下两句:

#import "../bin/debug/MyProject.dll"

#import "../MyProject/Debug/MyProject.tlb"

(例程中只提示要添加第二句,我不甚明白,为了防止意外,也写了第一句,有谁能解释一下这个.tlb文件的作业?)

同时在ClientDlg.cpp文件中使用using namespace MyProjectLib;

我感觉多数工作都已经做完了,下面是我的代码部分,但是调用CLSIDFromProgID的返回值始终提示“无效的类字符串”,请教高人解决方法,谢谢啦!!!

HRESULT hr = CoInitialize(NULL);

CLSID clsid;

hr = CLSIDFromProgID(OLESTR("MyProject.MyCom"),&clsid);

if (FAILED(hr))

{

AfxMessageBox(L"COM Failed.");

return;

}

IMyCom *ptr = NULL;

hr = CoCreateInstance(clsid,NULL,CLSCTX_INPROC_SERVER,__uuidof(IMyCom),(LPVOID*)&ptr);

ptr->MyF1();

ptr->Release();

CoUninitialize();

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值