Ich habe das OnError Event erstmal deaktiviert, weil der immer ausgelöst wurde wenn WaitForData zu lange gedauert hat.
Habs so ausprobiert jetzt:
Delphi-Quellcode:
form4.udp1.RemoteHost:= form4.edit1.Text;
form4.udp1.RemotePort:= form4.edit2.Text;
form4.udp1.Open;
if form4.udp1.Connected then
begin
form4.Udp1.SendBuf(request, SizeOf(TInfoRequest));
CheckTime := Now();
form4.udp1.WaitForData(1000);
if (SecondsBetween(Now(),CheckTime) <= 1) then
begin
form4.Udp1.ReceiveBuf(buffer, SizeOf(buffer));
i := 0;
...
...
Bleibt immernoch hängen und wartet nicht nur 1 Sekunde.