Atl连接点问题(BSTR返回乱码)

liopX 2003-10-16 06:48:56
MFC中调用:
BEGIN_DISPATCH_MAP( CMainFrame, CFrameWnd)
DISP_FUNCTION_ID(CMainFrame, "OnTest", 1, OnTestA, VT_EMPTY, VTS_BSTR VTS_I2)
END_DISPATCH_MAP( )

void CMainFrame::OnTestA(BSTR str1,short nCode)
{
ATL送的为: 100000019992898
str1为:〱〰〰㄰㤹㈹㤸8
}

ATL中:(str1为BSTR)
[id(1), helpstring("方法OnTest")] HRESULT OnTest([in] BSTR str1,[[in] short nCode);

_IHttpProtocolEvents_OnTest(str1,nCode);

如ATL送的为: 100000019992898
MFC中得到为:〱〰〰㄰㤹㈹㤸8


请问如何解决????????????????????????

...全文
65 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liopX 2003-10-20
  • 打赏
  • 举报
回复
是我的机器原因,谢谢!
xiaohyy 2003-10-17
  • 打赏
  • 举报
回复
str1是BSTR类型的?

CString strTemp=(LPCTSTR)_bstr_t(str1);
liopX 2003-10-17
  • 打赏
  • 举报
回复
那些字符根本发不上去
liopX 2003-10-17
  • 打赏
  • 举报
回复
如ATL送的为: 100
MFC中得到为:〱0 (0x00173e14)

CString strTemp;
strTemp.Format("%s",CW2A(str1));
AfxMessageBox(strTemp);
xiaohyy 2003-10-16
  • 打赏
  • 举报
回复
估计是哉MFC中处理字符串的问题,你返回得到BSTR后如何处理该BSTR的?

把代码贴出来看看。
天限天空 2003-10-16
  • 打赏
  • 举报
回复
不应该是这里的问题

这个是 Uicode 编码方式

你好好查查

3,245

社区成员

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

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