Kiedy np. próbuje się połączyć z hostem który nie istnieje
wyskakuje w MessageBox'sie taki błąd:
Windows socket error: Nieznany host(11001), on API'ASync Lookup'
Jak to przechwycić, zablokować, a powyższy text wstawić np. do Memo ?--__________________________________
Pozdrawiam...
piechnat
A próbowałeś try except?--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Dryobates napisał:
A próbowałeś try except?
tak próbowałem, ale nie wiem jak przy pomocy tego przechwycić
ten text wyświetlić w Memo, bo nie chodzi mi tylko o zablokowanie
ale także o poinformowanie jaki błąd wyskoczył.
i Od razu mówie że wiem o istnieniu w ClientSockecie zdarzenia onError
ale ono daje do dypozycji kod błędu, a mi zależy na tym komunikacie {glowa}
--
Pozdrawiam...
piechnat
To tego raczej nie zrobisz. Nie da się chyba uzyskać nazwy stałej znając jej wartość. Musisz zrobić dłuuugą instrukcję case.---------------------------
Delphi 6
Pozdrówka
Mniej wiecej tak [ w OnError]
case ErrorCode of
11001 : Memo.Lines.Add('Windows socket error: Nieznany host(11001), on API''ASync Lookup');
- inne numerki errorkow i ich opisy do memo :)
end;
ErrorCode:=0; *blokuje wyskoczenie okienka
--W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.
> case ErrorCode of
> 11001 : Memo.Lines.Add('Windows socket error: Nieznany host(11001), on API''ASync Lookup');
> * inne numerki errorkow i ich opisy do memo :)
> end;
> ErrorCode:=0; *blokuje wyskoczenie okienka
thx, a nie wiesz może skąd wziąć listę takich najczęściej
występujących błędów, chodzi mi o słowne opisy ?--__________________________________
Pozdrawiam...
piechnat
piechnat napisał:
>thx, a nie wiesz może skąd wziąć listę takich najczęściej
>występujących błędów, chodzi mi o słowne opisy ?
To juz trzeba metoda sprawdzania chyba ze ktos gdzies ma tak liste, ale niewiem. mam gdzies zapisane klika [ze 4-5 :)] bledow ale to bym musial mocno poszukac zeby znalezc hmm... --W poszukiwaniu rozwiązania problemu, najbardziej pomocna jest znajomość odpowiedzi.
kiedys chyba Imperior podawal linka:
http://216.26.168.92/vbapi/ref/other/winsockerror.html---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ lks16@tenbit.pl ]=-
Jeżeli chcesz przechwycić komunikat, a nie tylko kod to według dokumentacji WindowsSDK musisz użyć funkcji:
GetExceptionInformation
Ale tu jest mały haczyk. Delphi nie zapewnia obsługi tej funkcji (choć samo korzysta z tego, bo podaje komunikat błędu).
Zadanie: dowiedzieć się w jakim pliku DLL i pod jaką nazwą występuje ta funkcja.--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
Dryobates napisał:
A próbowałeś try except?
Nie wiem czy wiesz, ale try...except wylapie ten blad wylacznie w win 9x (98/me). W 2000 oraz XP nie zadziala (ja zrobilem ApplicationEvents i tam zdarzenie OnException, ktore sie tym zajmuje)
ikari napisał:
Nie wiem czy wiesz, ale try...except wylapie ten blad wylacznie w win 9x (98/me). W 2000 oraz XP nie zadziala (ja zrobilem ApplicationEvents i tam zdarzenie OnException, ktore sie tym zajmuje)
Chodzi ci dokładnie o ten błąd, czy o błędy w ogóle?
Bo błędy ta konstrukcja u mnie przechwytuje pod WinXP. Jeżeli natomiast chodzi o ten błąd to w takim razie GetExceptionInformation też nie zadziała, bo Delphi wykorzystuje to samo do przechwytywania.
--Jest jeszcze jeden błąd ... :)
Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.
W moim przypadku akurat to byl chyba ten konkretny blad, a w kazdym razie blad wyskakujacy kiedy gniazdko sie laczy jak nie ma polaczenia z netem.
Poczytaj o obsłudze błędów przez aplikacje (szczególnie na dole strony). Wyjątki
Czy wie ktoś jak zrobić coś podobnego dla wątków?
Ok dzięki za odpowiedź
w SPACJA końcu dokończe projekt [soczek]