Identyfikatory dla dyrektywy kompilatora $WARN w Delphi
Delphi posiada dyrektywę kompilatora $WARN, która pozwala na selektywne Włączanie lub wyłączanie określonych ostrzeżeń. Plik pomocy Delphi 2009 opisuje składnię:
{$WARN identifier ON|OFF}
Ale wyświetla tylko identyfikatory dla 6 ostrzeżeń.
Chciałbym mieć pełną listę wszystkich identyfikatorów ostrzegawczych. W szczególności chcę znać identyfikatory dla ukrytych ostrzeżeń w1057 i W1058 w Delphi 2009.Udało mi się odgadnąć jeden dla niejawnych ANSI - >Unicode (W1057):
{$WARN IMPLICIT_STRING_CAST OFF}
Googling for that found me the other one:
{$WARN IMPLICIT_STRING_CAST_LOSS OFF}
Chociaż to rozwiązuje moją pilną potrzebę, nadal chciałbym znać pełną listę identyfikatorów ostrzeżeń. Takie rzeczy powinny być udokumentowane. 4 answers
Przejrzałem pomoc i nie widziałem pełnego list...so grzebanie w kodzie wydaje się, że stałe ostrzegawcze kompilatora są wymienione w: CodeGear \ RAD Studio \ 6.0 \ sources\toolsapi \ DCCStrs.pas
Wyszukaj "Implicit_String_Cast_Loss" a zobaczysz stałą sIMPLICIT_STRING_CAST_LOSS = 'DCC_IMPLICIT_STRING_CAST_LOSS';
Zakładam, że reszta łańcuchów DCC_xxx z odpowiadającymi im definicjami x_true/_false / _error jest tym, czego szukasz.
Pomoc Online nie było zbyt dobrze od Delphi 7.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-18 05:05:55
Darian ma rację, że DCCStrs.pas wymienia identyfikatory używane przez kompilator Delphi. Nie przyszło mi do głowy przeszukiwanie źródła, ponieważ Delphi nie zawiera źródła do swojego kompilatora.
Wyodrębniłem identyfikatory dla podpowiedzi i ostrzeżeń z tego
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-11-03 17:15:14
Coś jeszcze nie wymienione w dokumentacji Delphi 2009:
Dyrektywa $WARN ma teraz błąd trzeciej opcji oprócz włączania i wyłączania. Więc możesz mieć:
{$WARN IMPLICIT_STRING_CAST OFF} to disable the warning
{$WARN IMPLICIT_STRING_CAST ON} to enable warning
{$WARN IMPLICIT_STRING_CAST ERROR} to turn the warning into an error
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-12-19 00:14:21
Takie rzeczy powinny być udokumentowane
Na dzień dzisiejszy pełna lista identyfikatorów i ich ostrzeżeń kompilatora znajduje się w dokumentacji pod adresem:
Http://docwiki.embarcadero.com/RADStudio/en/Warning_messages_ (Delphi)
Fragment:
Identyfikator w dyrektywie $ WARN może mieć dowolną z następujących wartości:
| Warning | Identifier | |:-----------------:|:----------:| | SYMBOL_DEPRECATED | W1000 | | SYMBOL_LIBRARY | W1001 | | (...) | (...) |
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-17 13:13:42