我在用VB WinSocket 做Client 发送一个自定义结构 到delphi winsocket 做的server 端自定义结构如下
delphi server 端Type recInfo = Record
intNo: Integer;
strName: String[200];
End;请问vb client 端的结构该如何写才能对应
Private Type recInfo
intNo As Integer
strName As ?
End Type
delphi server 端Type recInfo = Record
intNo: Integer;
strName: String[200];
End;请问vb client 端的结构该如何写才能对应
Private Type recInfo
intNo As Integer
strName As ?
End Type
Private Type recInfo
intNo As Integer
strName As string*200
End Type不过,建议这样:
Private Type recInfo
intNo As Integer
strName(199) As byte
End Type
Private Type recInfo
intNo As Integer
strName(199) As byte
End Type
遇到 strName 值没有传递过去的问题, 该如何解决?具体我写的源码如下, 请各位高手帮忙可是采用
Dim S As String
S="Text"
CopyMemory ByVal VarPtr(strName(1)), ByVal StrPtr(S), 200这种类型我的服务端结构
Type recInfo = Record
intNo: Integer;
strName: String[200];
End;
没有接受到 strName 的值啊, 该如何处理呢我的vb 源码是这样的Private Type recInfo
intNo As Integer
' strName(1 To 200) As String
' strName As String * 200
strName(199) As ByteEnd Type
Dim recTemp As recInfo、、、、//////////////////////////
recTemp.intNo = 15Dim S As String
S = "Text"
CopyMemory ByVal VarPtr(recTemp.strName(1)), ByVal StrPtr(S), 200Dim buf(Len(recTemp)) As Byte
CopyMemory buf(0), recTemp, Len(recTemp)
Winsock1.SendData buf(0)/////////////////////////////////delphi 的接受端是绝对没有问题的, 我用delphi 做的客户端测试过
CopyMemory ByVal VarPtr(strName(0)), ByVal StrPtr(S), 200vb数组,元素的下标默认从0开始
请问该问题如何解决