Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ping [D7, Win2k]


lasso ©   (2003-10-21 10:32:00) 

я в программе использую компанент idIcmp reciveTimeout у меня 5000...все работает...но есть проблема...
когда комп выключен то как и должно прога ждет 5 сек...но если у меня 10 компов и все они вылючены то она ждет 50 сек и программа как бы зависает я нимогу не остановить и даже закрыть ее...подскажите возможно ли что нибуть сделать что бы остановить и вообще производить какие либо действия в момент когда пр ожидает ответа если это конечно возможно...
незнаю понели ли вы меня?!..:(


_Narayan_   (2003-10-21 19:59:00) [1]

что такое

form1.ping ?


wilhel   (2003-10-21 13:31:00) [2]

Lasso я тут тоже над этим парюсь.
Будет лучше, если ты выложешь шапку своей проги (до implementation)


panov   (2003-10-21 13:13:00) [3]

В отдельном потоке выполнять.


lasso   (2003-10-21 12:41:00) [4]

хм возращаюсь к своему вопросу[1] никто не подскажет?


lasso   (2003-10-21 10:42:00) [5]


> REA
спасибо конечно за подсказку тока я низнаю как это сделать....может подскажите?


REA   (2003-10-21 10:41:00) [6]

Можно повесить пингование в параллельный процесс, либо найти какой либо асинхронный компонент, если такой есть.


lasso   (2003-10-21 10:38:00) [7]

хм вообще то мне стыдно показывать...;) приметив...сек
procedure tform1.pingstart;
var
str,str2:string;
cl:integer;
begin
tray.Icon.LoadFromFile(ExtractFilePath(paramstr(0))+"2.ico");
for cl:=0 to row do form1.tb.Cells[3,cl]:="";
for cl:=1 to row do form1.tb.Cells[2,cl]:="";
for cl:=0 to row do form1.tb.Cells[4,cl]:="";
for j:=1 to row do
begin

label1.Caption:="Scaning..."+str;
form1.Bar.Position:=form1.Bar.Position+ (100 div row+1);
str:=form1.tb.Cells[1,j];
if pos(" ",str)=0 then
form1.ping.Host:=str;
form1.ping.Ping("",0);
if form1.ping.ReplyStatus.TimeToLive<>0 then
begin
application.ProcessMessages;
form1.tb.Cells[2,j]:="


lasso   (2003-10-21 10:38:00) [8]

ну как?...;)знаю тупо все в куче...и все тупо...;(


Dementiy   (2003-10-21 10:35:00) [9]

YO!Покажи код пинга.


Наверх

Титульная страница Поиск, карта сайта Написать письмо