高分求Socket传输问题 ( 积分: 100 )

  • 主题发起人 主题发起人 gms
  • 开始时间 开始时间
G

gms

Unregistered / Unconfirmed
GUEST, unregistred user!
这是我定义的结构,我想通过Socket传输
TSendFrameHead = record
DistrictAddr: String[100];
TerAddr: Integer;
MSA: Integer;
GroupAddrFlag: Byte;
AFN: Integer;
Data: TStringList;
end;

 
这是我定义的结构,我想通过Socket传输
TSendFrameHead = record
DistrictAddr: String[100];
TerAddr: Integer;
MSA: Integer;
GroupAddrFlag: Byte;
AFN: Integer;
Data: TStringList;
end;

 
按二进制数据传输就可以了,sendbuffer
 
求求高手们了
 
我用了SendBuffer,但是收不到结构中最后一个字符串列表Data,只要去读,就会报错
 
在socket编程的时候,最好不要使用string,TStringList等delphi特有类型,
请使用PChar
 
救命啊!!!!!
请给出解决问题的实质
 
Data:Tstringlist只不过是一个指针指向.还要把Data.Text的内容传过去.
 
TStringList是个类 说白了就是个指针是个地址,该结构体在本地运行还可以用于传输只能得到地址数值!所以你的结构体并不合理需要再斟酌
 
不要用Tstringlist
 
这样,你需要把结构转换为 Byte数组;
传;
收到后再反转回结构;

你要TStringList也可以,把它的真是内容copymem出来;
 
Data: TStringList?
兄弟,这个是一个指针啊!你就传个指针地址过去你觉得会有用吗?里面什么也没有,不出错才怪呢!
应该传Data:String;
然后用StringList。text接受就可以了。
你要传TStringList里的数据也是用它的.text属性来传!!!
 

Similar threads

后退
顶部