不能用LPCTSTR型参数传递指针?

wmrwinhap 2004-06-16 12:24:24
MFC-ActiveX ocx:
void CTestOcx::Decode(LPCTSTR pData)
{
TRACE("OCX address=%lu\n",pData);
...
}

MFC-EXE:
struct MYDATA {
int nLen;
char data[1024];
} mydata;
TRACE("EXE address=%lu\n",&mydata);
TestOcx.Decode((LPCTSTR)&mydata);

结果显示的 OCX address 与 EXE address 不一致。为什么?应该怎样传递指针呢?
...全文
167 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Kudeet 2004-06-29
LPCTSTR A 32-bit pointer to a constant character string that is portable for Unicode and DBCS.

Windows头文件也定义了ANSI/Unicode通用数据类型PTSTR和PCTSTR。这些数据类型既可以指A NSI字符串,也可以指Unicode字符串,这取决于当编译程序模块时是否定义了UNICODE宏。
回复
fire_up 2004-06-29
LPCTSTR是const类型的吧?
回复
快乐鹦鹉 2004-06-29
LPCTSTR是MFC的东西吧。用BSTR可不可以?
回复
wmrwinhap 2004-06-16
改为VARIANT*类型解决了该问题
回复
wmrwinhap 2004-06-16
在线等...
回复
wmrwinhap 2004-06-16
up
回复
发动态
发帖子
ATL
创建于2007-09-28

3206

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
社区公告
暂无公告