如何将数据在自定义类型的变量和字节数组之间转换

zhangdr 2000-06-13 02:41:00
我现在用Winsock编写一段程序,winsock的SendData方法的参数只能是简单类型的变量或数组,不能是自定义类型的变量,我记得好象可以用CopyMemory的API函数将数据从自定义类型的变量中读入一个字节数组中,可我试了一下,不行.它的错误提示是在字节数组上出现"参数类型不匹配".另外,我也需要在接收端将数据从字节数组中还原到一个自定义的变量中,希望高手予以指点一二.
...全文
164 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Un1 2000-06-13
  • 打赏
  • 举报
回复
注意申明:

Public Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" ( _
lpvDest As Any, lpvSource As Any, ByVal cbCopy As Long)


Type taaa
a as long
b as integer
c as byte
end type


dim a as taaa
a.a = ...


'send
dim lc as long
lc=lenb(a)

dim bt() as byte
redim bt(lc-1)

Copymemory bt(0),a,lc

winsock1.senddata bt


'recieve:
dim bt() as byte
winsock1.getdata bt


dim a as taaa
Copymemory a, bt(0), lenb(a)
Carrie 2000-06-13
  • 打赏
  • 举报
回复
用vc吧.只要用send就可以传自定义类型的变量了.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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