警告メッセージ(Delphi)
Delphi コンパイラ指令のリスト:インデックス への移動
種類 | スイッチ |
---|---|
構文 | {$WARN <識別子> ON | OFF | ERROR | DEFAULT}
|
デフォルト | すべての警告が有効です。 |
スコープ | ローカル |
$WARN
指令を使用すると、個々の警告メッセージをきめ細かく制御できます。
$WARN
を使ってオン/オフできる警告は以下のものだけです。
インラインの $WARN
指令による警告の設定は、その指令が含まれるコンパイル ユニットに適用され、その後、元の状態に戻ります。$WARN
指令の警告の設定が有効になるのは、ファイル中のその場所以降です。
$WARNINGS 指令を使ってコンパイラ警告の出力を制御することもできます。
ON、OFF、ERROR、DEFAULT
$WARN
指令は、次のように使用することができます。
構文 | 効果 |
---|---|
{$WARN identifier ON}
|
識別子で指定された警告をコンパイラが表示できるようになります。 |
{$WARN identifier OFF}
|
指定された警告は表示されません。 |
{$WARN identifier ERROR}
|
指定された警告はエラーとして扱われます。 |
{$WARN identifier DEFAULT}
|
[<プロジェクト名> のプロジェクト オプション]ダイアログ ボックスで指定されているデフォルト設定を使用します。 |
<識別子>
$WARN
指令の <識別子> は、次の値の中から指定することができます。
<識別子> | 警告 |
---|---|
SYMBOL_DEPRECATED
|
W1000 |
SYMBOL_LIBRARY
|
W1001 |
SYMBOL_PLATFORM
|
W1002 |
SYMBOL_EXPERIMENTAL
|
W1003 |
UNIT_LIBRARY
|
W1004 |
UNIT_PLATFORM
|
W1005 |
UNIT_DEPRECATED
|
W1006 |
UNIT_EXPERIMENTAL
|
W1007 |
HRESULT_COMPAT
|
W1008 |
HIDING_MEMBER
|
W1009 |
HIDDEN_VIRTUAL
|
W1010 |
GARBAGE
|
W1011 |
BOUNDS_ERROR
|
W1012 |
ZERO_NIL_COMPAT
|
W1013 |
STRING_CONST_TRUNCED
|
W1014 |
FOR_LOOP_VAR_VARPAR
|
W1015 |
TYPED_CONST_VARPAR
|
W1016 |
ASG_TO_TYPED_CONST
|
W1017 |
CASE_LABEL_RANGE
|
W1018 |
FOR_VARIABLE
|
W1019 |
CONSTRUCTING_ABSTRACT
|
W1020 |
COMPARISON_FALSE
|
W1021 |
COMPARISON_TRUE
|
W1022 |
COMPARING_SIGNED_UNSIGNED
|
W1023 |
COMBINING_SIGNED_UNSIGNED
|
W1024 |
UNSUPPORTED_CONSTRUCT
|
W1025 |
FILE_OPEN
|
W1026 |
FILE_OPEN_UNITSRC
|
W1027 |
BAD_GLOBAL_SYMBOL
|
W1028 |
DUPLICATE_CTOR_DTOR
|
W1029 |
INVALID_DIRECTIVE
|
W1030 |
PACKAGE_NO_LINK
|
W1031 |
PACKAGED_THREADVAR
|
W1032 |
IMPLICIT_IMPORT
|
W1033 |
HPPEMIT_IGNORED
|
W1034 |
NO_RETVAL
|
W1035 |
USE_BEFORE_DEF
|
W1036 |
FOR_LOOP_VAR_UNDEF
|
W1037 |
UNIT_NAME_MISMATCH
|
W1038 |
NO_CFG_FILE_FOUND
|
W1039 |
IMPLICIT_VARIANTS
|
W1040 |
UNICODE_TO_LOCALE
|
W1041 |
LOCALE_TO_UNICODE
|
W1042 |
IMAGEBASE_MULTIPLE
|
W1043 |
SUSPICIOUS_TYPECAST
|
W1044 |
PRIVATE_PROPACCESSOR
|
W1045 |
UNSAFE_TYPE
|
W1046 |
UNSAFE_CODE
|
W1047 |
UNSAFE_CAST
|
W1048 |
OPTION_TRUNCATED
|
W1049 |
WIDECHAR_REDUCED
|
W1050 |
DUPLICATES_IGNORED
|
W1051 |
MESSAGE_DIRECTIVE
|
W1054 |
TYPEINFO_IMPLICITLY_ADDED
|
W1055 |
RLINK_WARNING
|
W1056 |
IMPLICIT_STRING_CAST
|
W1057 |
IMPLICIT_STRING_CAST_LOSS
|
W1058 |
EXPLICIT_STRING_CAST
|
W1059 |
EXPLICIT_STRING_CAST_LOSS
|
W1060 |
CVT_WCHAR_TO_ACHAR
|
W1061 |
CVT_NARROWING_STRING_LOST
|
W1062 |
CVT_ACHAR_TO_WCHAR
|
W1063 |
CVT_WIDENING_STRING_LOST
|
W1064 |
LOST_EXTENDED_PRECISION
|
W1066 |
LNKDFM_NOTFOUND
|
W1067 |
IMMUTABLE_STRINGS
|
W1068 |
MOBILE_DELPHI
|
W1069 |
UNSAFE_VOID_POINTER
|
W1070 |
IMPLICIT_INTEGER_CAST_LOSS
|
W1071 |
IMPLICIT_CONVERSION_LOSS
|
W1072 |
COMBINING_SIGNED_UNSIGNED64
|
W1073 |
UNKNOWN_CUSTOM_ATTRIBUTE
|
W1074 |
XML_WHITESPACE_NOT_ALLOWED
|
W1201 |
XML_UNKNOWN_ENTITY
|
W1202 |
XML_INVALID_NAME_START
|
W1203 |
XML_INVALID_NAME
|
W1204 |
XML_EXPECTED_CHARACTER
|
W1205 |
XML_CREF_NO_RESOLVE
|
W1206 |
XML_NO_PARM
|
W1207 |
XML_NO_MATCHING_PARM
|
W1208 |
例
次の $WARN 指令の場合は、現在のモジュールで experimental 指定のシンボルが参照されるとすべて警告が表示されます。
{$WARNINGS ON}
{$WARN SYMBOL_EXPERIMENTAL ON}
procedure Foo; experimental;
begin
end;
begin
Foo // Warning: W1003 Symbol 'Foo' is experimental
end.
上記の $WARN 指令が次のように変わると、
{$WARN SYMBOL_EXPERIMENTAL ERROR}
コンパイラ メッセージは次のように変わります。
- エラー: E1003 シンボル 'Foo' は試験的なものです
そして、このモジュールはコンパイルされなくなります。
以下に例をもう 1 つ示します。
{$WARN WIDECHAR_REDUCED OFF}
if c in ['a', 'b'] then
// ...
{$WARN WIDECHAR_REDUCED DEFAULT}