TClientWinSocket - wyłączanie przy braku połączenia z internetem

0

czy istnieje jakiś sposób na wyłączenie TClientWinSocket gdy połączenie z internetem jest nieaktywne??

0

znaczy co chcesz zrobić??

0

co chcę zrobić? chcę zmodyfikować komponent TEasyGG, który przy próbie połączenia bez podłączonego internetu, po wyłączeniu internetu w trakcie działania programu wywala błędy typu "Asynchronous socket error" i inne tego typu, a czasami wywala cały program.

0

poczytaj o bloku try except end;

0

to może powiedz mi, w jaki sposób mam objąć takimi blokami odpowiednie funkcje tego obiektu nie mając źródeł??
TAK się nieda tego załatwić...
czekam na inne propozycje.

0

ech...
a komponent sam z siebie chce się połączyć z serwerem, tak :>

0

nie komponent sam z siebie, a raczej TClientWinSocket.
w komponencie każdą funkcję, jaka mogła się odwoływać do połączenia z internetem sprawdzałem funkcją

                 
function Connected: boolean;
var
  flags: DWORD;
begin
  Flags := INTERNET_CONNECTION_MODEM or INTERNET_CONNECTION_LAN or INTERNET_CONNECTION_PROXY or
    INTERNET_CONNECTION_MODEM_BUSY;
  Result := InternetGetConnectedState(@Flags, 0);
end;

jeśli jest połączenie - funkcja komponentu idzie dalej. jeśli nie - przerywa działanie.
i mimo wstawienia tych linii (if not connected then exit;) komponent dalej chciał się łączyć z serwerem a mi wywalało Asynchronous socket error.

0

o mamo...
to zamiast ją "sprawdzać funkcją" weź w try except

0
WSAECONNABORTED 10053
Software caused connection abort.
An established connection was aborted by the software in your host computer, possibly due to a data transmission time-out or protocol error.

to jest opis kodu błędu z MSDN.
wracając do bloku try...except end;:
wstawiłem we wszystkich możliwych funkcjach i procedurach i nadal to samo.

0

to może byś wreszcie dał jakiś kod jednej z tych "możliwych funkcjach i procedurach"

0

mam źródło całego komponentu wstawić?? :D
może lepiej, jak dam linka do paczki.
http://s42939.zut.edu.pl/dev/downloads.php?cat_id=2&download_id=7
autor niestety nie odpowiada na żadne pytania...

funkcje łączące się z netem przez TClientWinSocket zawarte są w plikach EGG.pas i EGGBase.pas

0

@czychacz: ja tylko dodam, że sposob jakims sprawdzasz czy jest połączenie z
Internetem nie jest do konca skuteczny, bo z tego co wiem nie zadziała on jeśli
jakaś osoba ma podpięty komputer do rutera. Połączenie nadal będzie bo ikona
w zasobniku obok zegara o tym informuje, ale rutier można odłączyć od choćby
modemu providera i już połączenie nie ma. I ja w kilku swoich proigramach, to
czy jest połączenie z Internetem sprawdzałem pingująć po IP Wirtualną Polskę,
a do pingowania żeby sobie ułatwić używałem komponentu DPing. Jego źródla,
w dalszym ciągu powinny być dostępne na 4p, w artykułach albo downloadzie.

0

ostatecznie sprawę załatwiłem komponentem TApplicationEvents.

1 użytkowników online, w tym zalogowanych: 0, gości: 1