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

TClientWinSocket - wyłączanie przy braku połączenia z internetem
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
0

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

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

znaczy co chcesz zrobić??


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
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.

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

poczytaj o bloku try except end;


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
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.

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

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


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
edytowany 1x, ostatnio: Misiekd
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
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ą

Kopiuj
                 
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.

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

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


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
0
Kopiuj
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.

Misiekd
  • Rejestracja:ponad 21 lat
  • Ostatnio:prawie 13 lat
  • Postów:7923
0

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


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
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

olesio
  • Rejestracja:około 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.
CZ
  • Rejestracja:około 17 lat
  • Ostatnio:prawie 14 lat
0

ostatecznie sprawę załatwiłem komponentem TApplicationEvents.

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.