我在用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
或者
strName(1 To 200) As Byte
看这样可否,我有1年多没接触VB了
Dim S As String
S="Text"
CopyMemory ByVal VarPtr(strName(1)), ByVal StrPtr(S), 200
对CopyMemory声明时前两个参数的传递方法都是ByVal,参数类型都是Long
错误的, 不行啊
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 做的客户端测试过