![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#5
|
|||
|
|||
![]() Это ты где-то накосячил.
Про выход за пределы массива - я ж не зря использовал критическую секцию и в потоке, и в основном коде. По поводу фильтрации. Я бы фильтровал в основной программе, а код листенера оставил бы как есть, пусть выгребает все, а уж что отображать можно решить в основной программе. Например так: Код:
procedure TForm1.ConnectionsMemo; var i: Integer; begin Memo1.Lines.Clear; for i := 0 to FThread.Count - 1 do begin if (Pos('127.0.0',FThread.IpTable[i].LocalAddr) <> 0) And (Pos('127.0.0',FThread.IpTable[i].RemoteAddr) <> 0) then Memo1.Lines.Add('Local: ' + FThread.IpTable[i].LocalAddr + ' | Remote: ' + FThread.IpTable[i].RemoteAddr); end; end; В принципе, можно в потоке в массив сохранять не сроку, а "разобранный" адрес и тогда сравнивать уже целые значения. |
Этот пользователь сказал Спасибо lmikle за это полезное сообщение: | ||
leon2009 (02.07.2025)
|