想给ActiveX加个返回字符串的方法

swdmike 2010-03-05 10:09:35
可是Automation里面没用string或CString返回类型可选,怎么办?
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wshcdr 2010-03-07
  • 打赏
  • 举报
回复
用BSTR就好..........
zjutyww 2010-03-06
  • 打赏
  • 举报
回复
给你个BSTR 的例子

BSTR TO char
STDMETHODIMP Cuseconfig::login_on(BSTR user, BSTR password,SHORT *ret)
{
char user2[32];
WideCharToMultiByte( CP_ACP, 0,

(LPCWSTR)user, -1,

user2, 32, NULL, NULL );

::SysFreeString(user);

}

Cstring to bstr
Cstring m_user;
int strLength ;
strLength = m_user.GetLength() + 1;
char *pusername = new char[strLength];
strncpy(pusername, m_user, strLength);

_bstr_t bstr_name(pusername);
delete pusername;
WizardK 2010-03-05
  • 打赏
  • 举报
回复
BSTR或VARIANT,都可传输,但须转换

BSTR -> CHAR *

#include <comutil.h>
#pragma comment(lib, "comsupp.lib")

char * pc;
unsigned short * pus;

...
pc = _com_util::ConvertBSTRToString(pus);
...
delete [] pc;
cpp2017 2010-03-05
  • 打赏
  • 举报
回复
返回BSTR 用Cstring 的
AllocSysString()返回。
  • 打赏
  • 举报
回复
返回BSTR类型

3,248

社区成员

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

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