czy istnieje jakiś sposób na wyłączenie TClientWinSocket gdy połączenie z internetem jest nieaktywne??
- Rejestracja:około 17 lat
- Ostatnio:prawie 14 lat
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.
- Rejestracja:około 17 lat
- Ostatnio:prawie 14 lat
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.
- Rejestracja:około 17 lat
- Ostatnio:prawie 14 lat
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.
- Rejestracja:około 17 lat
- Ostatnio:prawie 14 lat
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

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