我定义了较多自定义类型
public type sms
  seq as long
  i as string
  j as string
end type
public type gprs
  a as long
  i as string
endtype 等等..
我希望用一个函数一下将其存储到字节数组中去a()as byte,然后winsock.senddata a一下就发送出去,请问谁有好的方法呀,全分相送!!!

解决方案 »

  1.   

    有看过一个用memcopy搞定的例子,很久了,细节忘了 :(
      

  2.   

    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (_
    hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)Dim b() As Byte
    Redim b(LenB(sms)) As ByteCopyMemory a(0),sms,sizeOf(sms)
      

  3.   

    不好意思上一个弄错(跟C混了)
    正确的如下:
    Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (_
    hpvDest As Any, hpvSource As Any, ByVal cbCopy As Long)Dim b() As Byte
    Redim b(LenB(sms)) As ByteCopyMemory a(0),sms,LenB(sms)
      

  4.   

    同意abomber2(走来走去)呵呵,手脚好快 :)
      

  5.   

    Redim b(LenB(sms)) As Byte 里的sms->strconv(sms,vbfromunicode)
      

  6.   

    需满足LenB(sms)<=ubound(a)-lbound(a)+1