社区
API 调用
帖子详情
为什么VC返回的BSTR类型用PB的String类型接收后出现汉字乱码,英文正常?
yuddian
2006-08-26 01:58:55
为什么VC返回的BSTR类型用PB的String类型接收后出现汉字乱码,英文正常?
...全文
719
22
打赏
收藏
为什么VC返回的BSTR类型用PB的String类型接收后出现汉字乱码,英文正常?
为什么VC返回的BSTR类型用PB的String类型接收后出现汉字乱码,英文正常?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
22 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuddian
2006-09-09
打赏
举报
回复
up
yuddian
2006-09-08
打赏
举报
回复
ti AFIC,
这样改也不行的,如果参数只是[out],不[in],结果也是一样的。仍然会有乱码或者字符被截断。
有什么其它好的方法么?
AFIC
2006-09-08
打赏
举报
回复
关键就在in,返回会自动转换的,
你只要把in改用LPCTSTR 返回用BSTR*,我觉得应该就没问题了。
yuddian
2006-09-07
打赏
举报
回复
to AFIC(AFIC),
在ACTIVEX的COM接口参数类型中,只有BSTR* 和 LPCTSTR 用来传递字符串。而后者只能够[in],不能够[out]一个参数,目前我需要从VC6的控件中保存一个字符串返回出来。而且这个字符串可能包含有中文汉字。
如果没有汉字,是没有问题的。
AFIC
2006-09-07
打赏
举报
回复
最好是用这个:
LPTSTR
yuddian
2006-09-07
打赏
举报
回复
Up
yuddian
2006-09-07
打赏
举报
回复
to AFIC(AFIC),如果在VC6上作修改,接口该如何进行修改呢?
AFIC
2006-09-07
打赏
举报
回复
参数格式[in,out],那没办法了,要么pb升级,要么vc改下接口。
yuddian
2006-09-07
打赏
举报
回复
问题描述如下:
1 用VC6写的一个ActiveX控件;
2 调用这个控件的程序是用PB7写的;
3 其中控件的有些接口是 BSTR* 参数格式[in,out],从PB7要把字符串传到VC6中,同时需要把处理之后的结果返回到PB7的
应用层.如果都使用英文字符的话,没有什么问题.如果其中包含有中文字符,那么就会出问题.
问题的表现就是出现乱码或者字符被截断.
wepwep
2006-09-07
打赏
举报
回复
你尝试测试中英文结合字符串
wepwep
2006-09-07
打赏
举报
回复
你把正确的字符串和乱码后的字符串都贴上来看看啊
yuddian
2006-09-07
打赏
举报
回复
谢谢 wepwep(德鲁伊) 的回复,有一点启示,我会继续寻找方法.如果身边有什么PB的高手,也请帮忙打听一下,谢谢先.
wepwep
2006-09-07
打赏
举报
回复
我对BSTR不懂,不过如果PB出现乱码那么应该是字符串中有错误的数据,汉字是2个字节的,不管是不是unicode的,系统是判断第一个字节的第8位(如10000000)是否为1,如果是1那么就是汉字,是和第二个字节合起来组成一个汉字。那么如果在汉字的字符串中插入了一个第8位为1的字节,那么整个汉字字符串就全乱了,直到遇到一个第8位为0的才会恢复。
具体怎么解决我帮不上忙了,不知道出现乱码的情况是怎么样了,不过提醒一下,在PB10以前的版本处理汉字的函数和处理英文的函数不一样的
yuddian
2006-09-07
打赏
举报
回复
我现在使用的PB7的版本.是不是PB7的版本就无法实现Unicode的操作了呀?
AFIC
2006-08-28
打赏
举报
回复
BSTR实际上是一个COM字符串,是Unicode的字符串加上长度信息。
因为是unicode的,所以推荐pb10以后的版本来调用该函数。
polestarxu
2006-08-27
打赏
举报
回复
是否跟字库有关系呢?
yuddian
2006-08-27
打赏
举报
回复
Up
yuddian
2006-08-26
打赏
举报
回复
谢谢大家,继续关注
圣殿骑士18
2006-08-26
打赏
举报
回复
up下
魔鬼代言人5800
2006-08-26
打赏
举报
回复
不会呀,只能帮你UP
加载更多回复(2)
pb
中如何应付指针
类型
本文介绍了PowerBuilder(
PB
)中处理指针的几种实用方法,包括如何通过字符串地址获取字符串、获取
PB
字符串变量地址及在内存堆上分配、存储、读取和释放数据等。这些方法有助于
PB
与
VC
之间的交互。
用
PB
编写多线程应用程序
该博客围绕用
PB
编写多线程应用程序展开。多线程在信息技术领域有重要作用,
PB
作为一种工具可用于此开发,能助力实现分布式计算等功能,还涉及脚本编写等相关操作。
PowerBuilder中
英文
切换功能实现与优化指南
本文详细阐述
PB
Helper美化包在PowerBuilder(
PB
6-
PB
12.5)中实现中
英文
切换的技术原理与实践方法,涵盖资源动态加载、界面实时刷新、翻译记忆库等核心机制;介绍基础配置、高级自定义(CSV语言包、快捷键、控件排除)、常见兼容性问题(
PB
版本差异、输入法冲突、高DPI适配)及性能优化策略;强调国际化开发中的资源管理、CI/CD集成与第三方控件兼容处理。
PowerBuilder调用DLL参数
类型
映射与内存管理实战指南
本文系统讲解PowerBuilder调用DLL时的核心技术要点,重点涵盖调用约定(StdCall/Cdecl)、内存管理原则(
PB
分配/DLL使用)、基础
类型
(整型、字符串、浮点)与高级
类型
(结构体Blob、回调函数、数组)的精确映射方法,并提供完整实战案例及常见崩溃、
乱码
、EXE运行失败等典型问题的深度排坑方案。
MFC程序从
VC
6.0移植到VS2005
出现
'operator +=' is ambiguous 的错误
本文解决了一个从
VC
6.0移植到VS2005的程序中的编译错误,具体错误为'operator += '是模糊的。通过使用static_cast进行显式
类型
转换解决了该问题。
API 调用
681
社区成员
4,761
社区内容
发帖
与我相关
我的任务
API 调用
PowerBuilder API 调用
复制链接
扫一扫
分享
社区描述
PowerBuilder API 调用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章