Witam was probuje sprawdzic czy konkretne porty z protokolow udp i tcp sa otwarte i robie to nastepujaco.
Daje na forme dwa komonenty i przypisujue im numer portu ktory chce sprawdzic jezeli
bedzie zajety wyrzuci blad jezli nie to sie ustawi w stan nasluchiwania.

procedure TForm1.Button2Click(Sender: TObject);
var
i:integer;
begin
idudpserver1.DefaultPort := StrToInt(edit1.Text);
idtcpserver1.DefaultPort := StrToInt(edit1.Text);
memo1.Lines.Add(IntToStr(idudpserver1.DefaultPort));
memo1.Lines.Add(IntToStr(idtcpserver1.DefaultPort));
try
idudpserver1.Active := true;
idtcpserver1.Active := true;
except
Memo1.Lines.Add('blad');
end;
end;

Wszystko by bylo dobrze ale ja chce sprawdzic kilka portow wiec robie Active := false i probuje zmienic defaultport na inny po zmiania i wlaczeniu servero nadal nasluchuja na porcie ktory wpisalem jako pierwszy mimo ze wartosc defaultport jest juz inna.
Laczy sie na innym porcie dopiero po restarcie aplikacji. [???]
Jak zrobic aby ne musial restartowac aplikacji i mogl sprawdzic kilka portow?