请教COM智能指针实例化问题

boy0755 2004-03-30 01:50:30
大家好,我想请教COM智能指针实例化问题,问题如下:
我用C#做了一个类库程序,生成了tradetest.dll文件,然后
用:regasm tradetest.dll /tlb:tradetest.tlb,注朋并生成类型库文件
并在Visual C++ 6.0中创建了一个控制台程序,并使用了C#做的COM组件。
使用正常。但当我用Visual C++ 6.0中创建了一个MFC AppWizard(exe)项目并在此项
目中使用COM组件却出现了问题。

//控制台程序
#include "stdafx.h"
#import "tradetest.tlb" raw_interfaces_only

using namespace TradeTest;

int main(int argc, char* argv[])
{
HRESULT hr = CoInitialize(NULL);

ITradePtr pITrade(__uuidof(TradeLib));
BSTR bstr;
hr=pITrade->SellOrder(10.2, -100, &bstr);

CoUninitialize();
return 0;
}
//以上使用没问题


void CComTestDlg::OnOK()
{
// TODO: Add extra validation here

HRESULT hr;

ITradePtr pITrade(__uuidof(TradeLib)); //此处实例化出问题
BSTR bstr;
hr=pITrade->SellOrder(10.2, -100, &bstr);

CDialog::OnOK();
}

请大家指教,谢谢!
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
quengzi 2004-03-30
  • 打赏
  • 举报
回复
using namespace TradeTest;
adamsun 2004-03-30
  • 打赏
  • 举报
回复
gz
boy0755 2004-03-30
  • 打赏
  • 举报
回复
已调用CoInitialize(NULL),谢谢!
xenke 2004-03-30
  • 打赏
  • 举报
回复
MFC中调用CoInitialize(NULL)了吗?
boy0755 2004-03-30
  • 打赏
  • 举报
回复
注:CComTestDlg项目中已做了import动作:
#import "tradetest.tlb" raw_interfaces_only
using namespace TradeTest;

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧