描述:
大家好,我想请教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();
}
请大家指教,谢谢!