读书人

Delphi7和Delphi2006中的IdUDPServer1

发布时间: 2012-03-07 09:13:51 作者: rapoo

Delphi7和Delphi2006中的IdUDPServer1UDPRead不一样了,该怎么办?
在Delphi7版本中IdUDPServer的UDPServerUDPRead过程是这样的:
procedure TFrm_UDPServer.UDPServerUDPRead(Sender: TObject; AData: TStream;
ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
s: String;
begin
DataStringStream := TStringStream.Create( ' ');
try
DataStringStream.CopyFrom(AData, AData.Size);
s := DataStringStream.DataString;
end;


而在Delphi2006版中却成了这样:
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
ABinding: TIdSocketHandle);


两处中AData的定义类型不一样了,D7是TStream,在D2006却成了TBytes类型,那样DataStringStream.CopyFrom(AData, AData.Size);的使用就有问题了,想问一下要实现同样的D7种的接受数据,在D2006中该怎么实现阿?

[解决办法]
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
ABinding: TIdSocketHandle);
var
s: String;
begin
s:=PChar(@AData);
[解决办法]
这样
procedure TForm1.IdUDPServer1UDPRead(Sender: TObject; AData: TBytes;
ABinding: TIdSocketHandle);
var
s: String;
begin
s:=PChar(@AData[0]);

读书人网 >.NET

热点推荐