procedure TForm1.udpPeerBDataArrival(ASender: TObject; bytesTotal: Integer);
var
strData:string;
begin
udpPeerB.GetData(strData);
end;
提示错误,请问如何修改以上GetData()调用.
[Error] Main.pas(165): There is no overloaded version of 'GetData' that can be called with these arguments.

解决方案 »

  1.   

    不知道楼主用的什么控件,反正那个错误信息是udpPeerB.GetData(strData);参数不对
      

  2.   

    UDP的winsock还是自己写吧,也不难,范不着用控件
      

  3.   

    瞎猜
    procedure TForm1.udpPeerBDataArrival(ASender: TObject; bytesTotal: Integer);
    var
    strData:string;
    begin
      setLength(strData,bytesTotal);
      udpPeerB.GetData(strData[1]);//还有可能是udpPeerB.GetData(@strData[1])end;
      

  4.   

    procedure TWinsock.GetData(var data: OleVariant);
    begin
      DefaultInterface.GetData(data, EmptyParam, EmptyParam);
    end;procedure TWinsock.GetData(var data: OleVariant; type_: OleVariant);
    begin
      DefaultInterface.GetData(data, type_, EmptyParam);
    end;procedure TWinsock.GetData(var data: OleVariant; type_: OleVariant; maxLen: OleVariant);
    begin
      DefaultInterface.GetData(data, type_, maxLen);
    end;
    以上是GetData原型,如果将变量改为:strData:OleVariant;就可以,但是得到的数据全部为'????????'