Ping

0

Potrzebuje komponentu albo przykladu do Pingowania ktory nie bedzie przywieszal programu. Testowalem komponent z ICS Ping , wszystko swietnie tyle ze podczas pingowania zwiesza chwilowo nasz program (przy lostach, braku poalczenia nawet na pare sek) , uzycie Application.ProcessMessage tez nie dalo rezultatu , przynajmniej an tyle ile probowalem ;/

0

Użyj to tego osobnego wątku (klasa TThread).

0

To, że się wiesza, to raczej nie jest wina komponentu, bo mi się nic nie wiesz, dalej wszystko działa normalnie, nawet jak nie ma połączenia.

0

Może zastosowałeś jakąś głupią pętle np.

<font color="blue">Until "przyjdzie odpowiedź"</span>

0

nie , dalem sobie "break" po czym jechalem "step over" zeby zobaczyc przy czym sie tak zatrzymuje , i znalzlem ze "wisi" na unit ICMP przy linijce
Result := IcmpSendEcho(hICMP, FIPAddress, pReqData, FSize,
@IPOpt, pIPE, BufferSize, FTimeOut);
dalej sie juz nie zapusczalem bo to juz nie dla mnie ;]
zreszta sam progs jest zywcem wziety z ich przykladu dolaczonego do komponentu ja nic w nim nie zmienilem, TThreadami sie nie bawilem jescze , i cos mi nie wychodzi, tzn pomyslalem ze wzuce tam procedure ping1.ping; do uses wpisalem tez wykozystanie tego komponentu ale jak tego threada uruchomic zebym mogl wstawic tping z glownego unitu to za cholere nie wiem ;/

0

<font color="blue">Result := IcmpSendEcho(hICMP, FIPAddress, pReqData, FSize,
@IPOpt, pIPE, BufferSize, FTimeOut);</span>

Zatem nie ma innego wyjścia jak wątki, bo w parametrze masz FTimeOut - to jest odpowiedzialne za czas w przypadku nie otrzymania żadnej odpowiedzi...

chm bylbym wdzieczny jakbys napisal mi krotki opis jak ma wygladac ten watek oraz jak mam go wywolac z glownego unitu, zeby sprawa byla prostsza to napisz mi np jak kliknac buttonem(button1.click) znajdujacym sie np na formie glownego unitu

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.