请问怎么传输结构体?
type
myrecord= record
m_name :integer;
m_id :integer;
end;
Pmyrecord =^myrecord;
服务器:
var
p:pointer;
c :Pmyrecord;
begin
c := new(Pmyrecord);
c.m_name :=0;
c.m_id :=0;
new(p);
getmem(p,1024);
memo1.lines.add(inttostr(Socket.ReceiveBuf(p^,1024)));
c := p;
caption :=c.m_name;
freemem(p,1024);
end;
客户端:
var
c :Pmyrecord;
p :pointer;
begin
c := new(Pmyrecord);
c.m_name :=333;
c.m_id :=5555;
getmem(p,1024);
p :=c;
memo1.lines.add(inttostr(ClientSocket1.Socket.SendBuf(p^,1024)));
FreeMem (P, 1024);
end;
为什么接收不到发送的数据,接收到的是非常大的象是地址的数据.
可以以发送指针的形式发送结构体内容吗?
有什么好的方法发送带有相同结构头的不同的结构体呢?