在VB里用WinSock控件发送数据,WinSock1.SendData Msg这个Msg是我定义的一个
Type Msg
Head As MessageHead

End TypeType MessageHead
Total_Length AS Long

End Type一执行就报”编译错误:只有在公共对象模块中定义的公共用户定义类型和变体类型互相转换或传递给后期绑定功能“这是怎么回事?这方面我没经验,是不是思路就错了?应该怎么办呢?
感激涕零!

解决方案 »

  1.   

    VB可以在WinSock中发送结构。
    可能是你的结构定义错误。
    结构定义要在公共模块中。但不能在公共模块中创建结构的事例,很可能是定义MSG时有问题
      

  2.   

    给你一个思路,可以定一个个变体变量,然后将msg复制给变体变量,再传送试一试
      

  3.   

    我的问题跟你的一样 我自定义的结构体是
    Type TestStoreTypeDefine1
        DataT                 As Single          '   时间
        Data(7)               As Single          '   数据
    End TypeType TestStoreTypeDefine
        TestData(4) As TestStoreTypeDefine1
    End TypePublic TestStoreData() As TestStoreTypeDefine
    我想发送TestStoreData()
    在发送方:
    Dim b()     As Byte
    ReDim b(LenB(TestStoreData(k)) - 1)
    CopyMemory b(0), TestStoreData(k), LenB(TestStoreData(k))
    sendWinsock.SendData b
    接收方我也没处理好 跟你一样急 你要是解决了 也给我点建议啊 谢啦