社区
ATL
帖子详情
vb调用vc ActiveX问题?
wml231
2009-08-11 02:52:22
vc的activex中定义属性CString strRecv;
vb中定义dim a(2) as byte
a(0)=&HEE
a(1)=&HFF
调用.strRecv=a
我的程序就是需要将vb中传入的byte数组在activex中处理
怎么转换呢?
Cstring strRecv得到的是乱码啊!
...全文
70
15
打赏
收藏
vb调用vc ActiveX问题?
vc的activex中定义属性CString strRecv; vb中定义dim a(2) as byte a(0)=&HEE a(1)=&HFF 调用.strRecv=a 我的程序就是需要将vb中传入的byte数组在activex中处理 怎么转换呢? Cstring strRecv得到的是乱码啊!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wml231
2009-08-12
打赏
举报
回复
谢谢楼上指点,能具体点吗
小弟初学ActiveX,对类型转换不太清楚!
skybblue
2009-08-12
打赏
举报
回复
com中用VARIANT类型传递数组吧,在vb中所有的变量形式其实都是VARIANT类型的变量,如果传递数组的话,在Com中应该使用安全数组(CreateSafeArray创建安全数组)方式实现.
wml231
2009-08-12
打赏
举报
回复
谢谢楼上的支持,可能是我没写清楚
我要的效果是
vb中定义:
dim a(n) as byte //n可能是不同的数字
a(0)=&H11
a(1)=&HB2
...
a(n)=&H1F
这个数组是可变的
然后在vc的activex中,我定义了一个属性Recv为CString型//我不知道还能用什么类型直接接收vb的byte数组
最后在vb中调用vc的activex属性
.strRecv = a
要求vc的activex中Recv属性收到这个数组后能够转换出来,即得到vb中的数组原数据
我用传递地址的方法已经实现了
但是效果不好,我想还是.strRecv = a这样比较方便
请高手指教
Ghost90
2009-08-11
打赏
举报
回复
a(0)=&H66
strRecv=a
又试了下 这样 应该没问题
这么试下呢 只付a(0) 值H66 你的ee不是字符 ASCII码
wml231
2009-08-11
打赏
举报
回复
.strRecv=a是在vb里,别的方法我已经实现了,但是,我就想用这种方法,因为以前实现过
忘了怎么作了,这样实现以后,vb中调用比较方便,多谢啊!
Ghost90
2009-08-11
打赏
举报
回复
错了应该是
F(char *p)
{
strRecv.Format("%s",p);
}
Ghost90
2009-08-11
打赏
举报
回复
调用.strRecv=a 是在VB里的代码吗?如果是VB里的代码不建议这样用,因为CString 是个类不是char * 如果是char*的话可能正确。调用.strRecv.Format("%s",a); 的意思是在VB里试估计不能成功。
还是用函数的方式F(char *p)
{
strRecv=p;
}
这样的话应该不会有问题
wml231
2009-08-11
打赏
举报
回复
虽然不行还是谢谢楼上!
你的方法中的a是我activex收到的,此时已经是乱码了
因为strRecv是cString 型,就是因为类型转换错误造成的
我就是想知道怎么转换呢>?
Ghost90
2009-08-11
打赏
举报
回复
调用.strRecv.Format("%s",a);
这么试试呢?感觉好像不行
wml231
2009-08-11
打赏
举报
回复
没人知道?
wml231
2009-08-11
打赏
举报
回复
d
wml231
2009-08-11
打赏
举报
回复
本人初学activex,1楼的方法我有点不懂,a 是在vb中定义的,怎么会在vc中能得到呢?
3楼说的方法我在网内查了很多了,能具体点吗,因为我不知道activex定义属性时类型怎么设置成char*
谢谢!!!
FirryHere
2009-08-11
打赏
举报
回复
一般在ole中的字符串,都是bstr,atl中有ccombstr和cstring,不过,最好不要用这个来传byte字节流,还不如直接用char*什么的方式。
wml231
2009-08-11
打赏
举报
回复
在线,答者给分!
Ghost90
2009-08-11
打赏
举报
回复
strRecv.Format("%s",a);
vb
.rar_
VB
ocx_
VB
调用
VC
_
VC
调用
VB
_
调用
dll
VB
调用
VC
编写的DLL.一般来说,
VB
和
VC
共同编程有3种方式:一种是
VC
生成DLL,在
VB
中
调用
DLL;一种是
VC
生成
ActiveX
控件(.ocx),在
VB
中插入;还有一种是在
VC
中生成
ActiveX
Automation服务器
C++
调用
vb
6.0制作的
Activex
DLL
vs2008 环境下C++代码
调用
vb
6.0生成的
Activex
dll。
计算机二级(
VB
)
计算机二级(
VB
)教程,全面、系统、细致地介绍了计算机二级(
VB
)的相关知识点。 课程能够帮助学习者快速入门。 该课程面向对象: 备考计算机二级(
VB
)的课程 备课期末考试 自学
VB
程序设计 课程注意提高学习者实战...
分享如何在
VB
中
调用
VC
编写的DLL
一般来说,
VB
和
VC
共同编程有3种方式:一种是
VC
生成DLL,在
VB
中
调用
DLL;一种是
VC
生成
ActiveX
控件(.ocx),在
VB
中插入;还有一种是在
VC
中生成
ActiveX
Automation服务器,在
VB
中
调用
A simple way to call a
VB
ActiveX
DLL from a
VC
/MFC Client在
A simple way to call a
VB
ActiveX
DLL from a
VC
/MFC Client在
VC
客户端
调用
vb
的dll
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章