jak wyłączyć crashowanie programu przy bugach?

0

mam taki maly problemik - pracuje nad programem p2pi niby wszystko jest OK, ładnie przesyła pliki, ale w różnych momentach, ni z tego, ni z owego wywala Access Violation lub IO error (WinXP Pro SP1), w większości przypadków program nadal pięknie działa, ale okienko się niepotrzebnie wyświetla :D. Jak wyłączyć te błędy AV (da się?)

Druga sprawa to jednoczesne użycie pliku przez 2 wątki tego samego programu - gdy progz zapisuje pobrane dane i w tym samym czasie odczytuje sobie o nim informacje to znowu prawie wszystko jest OK, poza tym, ze wywala błąd IO error :P. Gdzie mam użyć przełącznika {I+} i co on konkretnie daje?

Kolejny błąd to rozmiar bufora - jak wysyłam plik sam sobie, to moge go pakować w paczki po 8kB, a jak wysyłam do kolegi ze słabszym kompem (W98 i neo) to idzie max 1kb (przy większym buforze program udaje, że do zakończenia pobierania pliku pozostało kilka lat)

I ostatnia sprawa to IRC - skorzystałem z komponentu TVortex, wersja sciągnięta z 4p - i u mnie wszystko jest OK, a na wspomnianym W98 jest tylko Łączenie... / Rozłączony :(

z gory thx za pomoc...

0

ad 1. Możesz wyłapywać wszelkie Exceptions i je np zapisywać do pliku... Musisz tylko oprogramować zdarzenie Application.OnException tam masz Zmienną E która jest typu TException (głowy za typ nie dam) i ma wszelkie info o aktualnym wyjątku...

0

noo na to bym nie wpadl, a takie proste :)
Niestety toto wyłapuje tylko część błędów - przy niektórych dalej wywala errory, a na W98 pewnie Ekran Śmierci :-|

problem IRCa chyba rozwiązany - wydaje mi się, że adresy neostrady są przez polnet banowane :P

I wciąż oczekuje na podpowedź do innych pytań (co daje użycie przełącznika I, jak jest z rozmiarem bufora)

EDIT:
problem rozwiązany, a dla innych poszukujących podpowiedź:

  • Sporo pomaga Project > Options > Compiler > Runtime Errors
  • Jak nie pomaga to warto sprawdzic, czy program nie odczytuje nieistniejących linii z TStrings (2 dni od rana do wieczora tego *** szukalem :[ )
  • Obsługa plików INI w WinXP jest dość nieudolna, a w Win98 już w ogóle :D
  • Często pomaga Application.ProcessMessages

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