Hallo,
Hat schon mal jemand dieses
Indy Beispiel was unter Delphi 6 noch funktionierte unter Delphi 2006 zum Laufen gebracht ?
Delphi-Quellcode:
//procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TStream; ABinding: TIdSocketHandle);
procedure TUDPMainForm.UDPServerUDPRead(Sender: TObject; AData: TBytes; ABinding: TIdSocketHandle);
var
DataStringStream: TStringStream;
s: String;
begin
DataStringStream := TStringStream.Create('');
try
// s := BytesToString(AData);
DataStringStream.CopyFrom(AData, AData.Size);
UDPMemo.Lines.Add('Received "' + DataStringStream.DataString + '" from ' + ABinding.PeerIP + ' on port ' + IntToStr(ABinding.PeerPort));
s := 'Replied from ' + UDPServer.Name + ' to "' + DataStringStream.DataString + '"';
ABinding.SendTo(ABinding.PeerIP, ABinding.PeerPort, (s[1]), Length(s));
finally
DataStringStream.Free;
end;
end;
Bei der Deklaration meckert er schon dass jetzt AData ein TBytes sein muss, was mit der Einbindung von IdGlobal dann auch klappt. Jetzt meckert er aber noch wegen AData.Size und bei s[1] und/oder Length(s) scheint sich auch was geändert zu haben.
Gruß MarLe