问题:客户端发送记录集(已经初始值了),服务器接收数据,将接收数据并赋值给服务器上的记录对象,但是结果却显示记录集的一个变量值为空,这是为什么呢?请高手指点,谢谢了!客户服务器记录:
type
myrecord= record
m_name :String;
m_id :String;
end;
Pmyrecord =^myrecord;
客户端发送:
procedure TForm1.Button1Click(Sender: TObject);
var
c :Pmyrecord;
p :pointer;
begin c := new(Pmyrecord);
c.m_name :='aa';
c.m_id :='bb';
getmem(p,1024);
p :=c;
memo1.lines.add(inttostr(ClientSocket1.Socket.SendBuf(p^,1024)));
FreeMem (P, 1024);
end;
服务器接收:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
p:pointer;
c :Pmyrecord;
begin
c := new(Pmyrecord);
c.m_name :='';
c.m_id :='';
new(p);
getmem(p,1024);
memo1.lines.add(inttostr(Socket.ReceiveBuf(p^,1024)));
c := p;
caption :=c.m_name;
freemem(p,1024);
end;
type
myrecord= record
m_name :String;
m_id :String;
end;
Pmyrecord =^myrecord;
客户端发送:
procedure TForm1.Button1Click(Sender: TObject);
var
c :Pmyrecord;
p :pointer;
begin c := new(Pmyrecord);
c.m_name :='aa';
c.m_id :='bb';
getmem(p,1024);
p :=c;
memo1.lines.add(inttostr(ClientSocket1.Socket.SendBuf(p^,1024)));
FreeMem (P, 1024);
end;
服务器接收:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var
p:pointer;
c :Pmyrecord;
begin
c := new(Pmyrecord);
c.m_name :='';
c.m_id :='';
new(p);
getmem(p,1024);
memo1.lines.add(inttostr(Socket.ReceiveBuf(p^,1024)));
c := p;
caption :=c.m_name;
freemem(p,1024);
end;
m_name :String[255];
m_id :String[255];
end;