В компилятор Delphi 13 Florence добавлены новые директивы {$PUSHOPT} и {$POPOPT}, которые сохраняют и восстанавливают текущий набор параметров и конфигурации warning'гов. Их реализация аналогична "#pragma option push" и "#pragma option pop") в C++.
В случае несоответствия при использовании директив $PUSHOPT и $POPOPT будут выданы предупреждения:
В случае несоответствия при использовании директив $PUSHOPT и $POPOPT будут выданы предупреждения:
- "W1078 {$POPOPT} with no matching {$PUSHOPT} in %s" - вызов $POPOPT до вызова $PUSHPOPT;
- "W1079 Previous {$PUSHOPT} on line %ld not restored" - в файле содержится больше $POPOPT, чем $PUSHPOPT.
Директива | Краткая форма |
{$ALIGN ON/OFF/1/2/4/8/16} | {$A+} {$A-} {$A1} {$A2} {$A4} {$A8} {$A16} |
{$BOOLEVAL ON/OFF} | {$B+} {$B-} |
{$ASSERTIONS ON/OFF} | {$C+} {$C-} |
{$DEBUGINFO ON/OFF/0/1/2} | {$D0} {$D1} {$D2} |
{$OLDOBJWARN} | {$E+} {$E-} |
{$IMPORTEDDATA ON/OFF} | {$G+} {$G-} |
{$LONGSTRINGS ON/OFF} | {$H+} {$H-} |
{$IOCHECKS ON/OFF} | {$I+} {$I-} |
{$WRITEABLECONST ON/OFF} | {$J+} {$J-} |
{$LOCALSYMBOLS ON/OFF} | {$L+} {$L-} |
{$TYPEINFO ON/OFF} | {$M+} {$M-} |
{$OPTIMIZATION ON/OFF} | {$O+} {$O-} |
{$OPENSTRINGS ON/OFF} | {$P+} {$P-} |
{$OVERFLOWCHECKS ON/OFF} | {$Q+} {$Q-} |
{$RANGECHECKS ON/OFF} | {$R+} {$R-} |
{$STACKCHECKS ON/OFF} | {$S+} {$S-} |
{$TYPEDADDRESS ON/OFF} | {$T+} {$T-} |
{$SAFEDIVIDE ON/OFF} | {$U+} {$U-} |
{$VARSTRINGCHECKS ON/OFF} | {$V+} {$V-} |
{$STACKFRAMES ON/OFF} | {$W+} {$W-} |
{$EXTENDEDSYNTAX ON/OFF} | {$X+} {$X-} |
{$REFERENCEINFO ON/OFF} | {$Y+} {$Y-} |
{$DEFINITIONINFO ON/OFF} | {$YD} |
{$MINENUMSIZE 1/2/4} | {$Z+} {$Z-} {$Z1} {$Z2} {$Z4} |
{$AUTOBOX ON/OFF} | |
{$FINITEFLOAT ON/OFF} | |
{$HINTS ON/OFF} | |
{$IMPLICITBUILD ON/OFF} | |
{$REALCOMPATIBILITY ON/OFF} | |
{$UNSAFECODE ON/OFF} | |
{$METHODINFO ON/OFF} | |
{$NATIVE_CPP_INTERFACES ON/OFF} | |
{$SCOPEDENUMS ON/OFF} | |
{$POINTERMATH ON/OFF} | |
{$COMPATIBLELITERALS ON/OFF} | |
{$HIGHCHARUNICODE ON/OFF} | |
{$OLDTYPELAYOUT ON/OFF} | |
{$WEAKLINKRTTI ON/OFF} | |
{$STRONGLINKTYPES ON/OFF} | |
{$EXCESSPRECISION ON/OFF} | |
{$EXTENDEDCOMPATIBILITY ON/OFF} | |
{$ZEROBASEDSTRINGS ON/OFF} | |
{$LEGACYIFEND ON/OFF} | |
{$WARN (<ident>|ALL) ON/OFF/DEFAULT/ERROR} | |
{$CODEALIGN 0/1/2/4/8/16} | |
{$MAXPAGESIZE <intconst>} | |
$DESIGNONLY [ON/OFF]} | |
{$RUNONLY [ON/OFF]} | |
{$VARPROPSETTER [ON/OFF]} | |
{$DUPLICATEENABLE [ON/OFF]} | |
{$RTTI (EXPLICIT|INHERIT) {(METHOD|FIELD|PROPERTY)(<set const expr: TRttiVisibility>)} | |
{$INLINE ON/OFF/AUTO} | |
{$WARNINGS ON/OFF/ERROR} | |
{$TEXTBLOCK ( NATIVE/CR/LF/CRLF ) [ LANGUAGE ]} |
Комментариев нет:
Отправить комментарий