使用指针,将指针指向结构,然后将指针指向的这个数据块传出去。这样不要管是什么类型,接收端使用同样的结构指针还原即可。var p : ^TStru1;
tagStru : TStru1;
begin
................
p:=AllocMem( SizeOf(TStru1) );
result := p;
with tagStru do begin //结结构赋值
...........
end;
move(tagStru, p^, SizeOf( TStru1 )); .................. //将tagStru拷贝到p^后,将p^传出去,不要管是什么类型。
end;客户端接收时将接收到的数据强行的拷贝到结构指针里即可
tagStru : TStru1;
begin
................
p:=AllocMem( SizeOf(TStru1) );
result := p;
with tagStru do begin //结结构赋值
...........
end;
move(tagStru, p^, SizeOf( TStru1 )); .................. //将tagStru拷贝到p^后,将p^传出去,不要管是什么类型。
end;客户端接收时将接收到的数据强行的拷贝到结构指针里即可
type
MyRec=Record
s1,s2:string;
x1,x2:integer;
end;
var
MBuf:MyRec;
...............
if clientsocket.connected then clientsocket1.socket.sendbuf(MBuf,Sizeof(MBuf));
...............serversocektOnClientRead();
Type
......
Var
MBuf:MyRec;
begin
.....................................
Socket.receivebuf(MBuf,sizeof(MBuf));
.....................................
end;
是不是应当将MBuf:array[0..99] of MyRec,而且将一个以指数组赋给他