Thread View: pl.comp.lang.delphi
7 messages
7 total messages
Started by Bartłomiej Sosenko
Thu, 04 Aug 2016 13:08
Dyrektywy kompilatora
Author: Bartłomiej Sosenko
Date: Thu, 04 Aug 2016 13:08
Date: Thu, 04 Aug 2016 13:08
13 lines
1747 bytes
1747 bytes
Mam taką zagwozdkę w Delphi 5 - choć to ma znaczenie bardziej do rozwiązania niż problemu.
mam taki kod:
try
funkcja xxx
except
...
end;
Jeśli uruchomię program pod kontrolą IDE Delphi to kiedy funkcja xxx wywoła błąd to program jest zatrzymywany i wyświetla się komunikat kompilatora.
Jak mogę zmienić działanie kompilatora aby ten fragment kodu nie powodował przerwy w pracy programu w przypadku uruchomienia w środowisku IDE? Coś jak {$I-} ? Bo oczywiście przy normalnej pracy mi to nie przeszkadza ale przy debugowaniu już tak.
Re: Dyrektywy kompilatora
Author: Pancio
Date: Thu, 04 Aug 2016 13:45
Date: Thu, 04 Aug 2016 13:45
10 lines
1577 bytes
1577 bytes
> try > funkcja xxx > except > ... > end; > Jak mogę zmienić działanie kompilatora aby ten fragment kodu nie powodował przerwy w pracy programu w przypadku uruchomienia w środowisku IDE? Tools --> Debugger Options --> Language Exceptions Tutaj odptaszyc "Stop on Delphi Exceptions"
Re: Dyrektywy kompilatora
Author: Bartłomiej Sosenko
Date: Thu, 04 Aug 2016 13:58
Date: Thu, 04 Aug 2016 13:58
6 lines
1610 bytes
1610 bytes
W dniu czwartek, 4 sierpnia 2016 15:45:38 UTC+2 użytkownik Pancio napisał: > Tools --> Debugger Options --> Language Exceptions > Tutaj odptaszyc "Stop on Delphi Exceptions" Dzięki, co prawda potrzebowałem wyłączyć tylko pojedynczy typ błędu ale już mnie nakierowałeś gdzie :) Działa!
Re: Dyrektywy kompilatora
Author: Bartłomiej Sosenko
Date: Thu, 04 Aug 2016 13:59
Date: Thu, 04 Aug 2016 13:59
1 lines
1487 bytes
1487 bytes
Chociaż jeśli ktoś wie jak można to zrobić określając fragment kodu to było by lepiej - bo tak mogę w przyszłości przegapić tego samego typu błąd w innym miejscu kodu ...
Re: Dyrektywy kompilatora
Author: konsul41
Date: Fri, 05 Aug 2016 07:03
Date: Fri, 05 Aug 2016 07:03
20 lines
1637 bytes
1637 bytes
W dniu 04-08-2016 o 15:59, Bartłomiej Sosenko pisze:
> Chociaż jeśli ktoś wie jak można to zrobić określając fragment kodu to było by lepiej - bo tak mogę w przyszłości przegapić tego samego typu błąd w innym miejscu kodu ...
>
Które Delphi?
Chodzi o samą informację z Delphi, to można (przynajmniej w XE2)
zaznaczyć aby ignorował ten wyjątek, który wyskoczył.
Wyłączenie w ogóle wyjątku w aplikacji to nie porozumienie.
Lepiej przechwycić wyjątek ogólny.
pisane z palca
try
funkcja xxx
except
ON E : Exception DO
begin
ShowMessage(E.message);
//lub cokolwiek innego
end;
end
Re: Dyrektywy kompilatora
Author: Bartłomiej Sosenko
Date: Fri, 05 Aug 2016 08:04
Date: Fri, 05 Aug 2016 08:04
15 lines
2090 bytes
2090 bytes
> try
> funkcja xxx
> except
> ON E : Exception DO
> begin
> ShowMessage(E.message);
> //lub cokolwiek innego
> end;
> end
Delphi 5 Ent
Tak dokładnie to obsługuję, ale tego typu kod działa ok w pracującej normalnie aplikacji. Mi chodzi o to że podczas uruchomienia aplikacji z IDE Delphi w trybie Debugowania, Debugger i tak wyrzuca własny komunikat błędu który wychwycił w przypadku wystąpienia wyjątku i później oczywiście wykonuje to co jest w sekcji except - ale mi to przeszkadza podczas debugowania w jednym miejscu gdzie ten wyjątek często występuje i chciałbym wyłączyć komunikat debuggera ale tylko w jednym miejscu kodu.
Coś jak {$I-} ... {$I+}
Re: Dyrektywy kompilatora
Author: konsul41
Date: Fri, 05 Aug 2016 08:16
Date: Fri, 05 Aug 2016 08:16
20 lines
2008 bytes
2008 bytes
W dniu 05-08-2016 o 10:04, Bartłomiej Sosenko pisze:
>> try
>> funkcja xxx
>> except
>> ON E : Exception DO
>> begin
>> ShowMessage(E.message);
>> //lub cokolwiek innego
>> end;
>> end
>
> Delphi 5 Ent
>
> Tak dokładnie to obsługuję, ale tego typu kod działa ok w pracującej normalnie aplikacji. Mi chodzi o to że podczas uruchomienia aplikacji z IDE Delphi w trybie Debugowania, Debugger i tak wyrzuca własny komunikat błędu który wychwycił w przypadku wystąpienia wyjątku i później oczywiście wykonuje to co jest w sekcji except - ale mi to przeszkadza podczas debugowania w jednym miejscu gdzie ten wyjątek często występuje i chciałbym wyłączyć komunikat debuggera ale tylko w jednym miejscu kodu.
>
> Coś jak {$I-} ... {$I+}
>
Dlatego napisałem, że przynajmniej w XE2 można zaznaczyć ptaszek w
okienku wyskakującym wyjątku. Coś w rodzaju "Ignore this exception" i
więcej okno się nie pokazuje.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads