В компилятор 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 ]} |
Комментариев нет:
Отправить комментарий