Nachdem das OnError Event deaktiviert wurde, funktionierte dann auch "bmNonBlocking"
Der Workaround funktioniert zwar, aber die Abfragezeit ist mit 5 Sekunden etwas lang.
Delphi-Quellcode:
form4.udp1.BlockMode := bmNonBlocking;
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));
form4.udp1.WaitForData(250);
form4.Udp1.ReceiveBuf(buffer, SizeOf(buffer));
i := 0;
Dies funktioniert so ohne extra Zeitüberprüfung. Ob Queryport offen oder eben nicht.