作为一个严谨的程序员,应该将编译警告视同错误来处理,尤其对C语言来说。但对于DELPHI来说,有些警告确实是莫名其妙。比如
function f():integer;
begin
Result :=3;
try
....
result := 1;
finally
end;
end;
这个函数事实上没有问题的,但编译的时候DELPHI肯定会报告一个value assigned not used之类警告。
眼不见为净,可以在需要的位置加{$WARN WARNIDENTIFIER ON|OFF}来打开或者关闭指定警告。以下是常见警告的IDENTIFIER
ASG_TO_TYPED_CONST
BAD_GLOBAL_SYMBOL
BOUNDS_ERROR
CASE_LABEL_RANGE
COMBINING_SIGNED_UNSIGNED
COMPARING_SIGNED_UNSIGNED
COMPARISON_FALSE
COMPARISON_TRUE
CONSTRUCTING_ABSTRACT
CVT_ACHAR_TO_WCHAR
CVT_NARROWING_STRING_LOST
CVT_WCHAR_TO_ACHAR
CVT_WIDENING_STRING_LOST
DUPLICATE_CTOR_DTOR
DUPLICATES_IGNORED
EXPLICIT_STRING_CAST
EXPLICIT_STRING_CAST_LOSS
FILE_OPEN
FILE_OPEN_UNITSRC
FOR_LOOP_VAR_UNDEF
FOR_LOOP_VAR_VARPAR
FOR_VARIABLE
GARBAGE
HIDDEN_VIRTUAL
HIDING_MEMBER
HPPEMIT_IGNORED
HRESULT_COMPAT
IMAGEBASE_MULTIPLE
IMPLICIT_IMPORT
IMPLICIT_STRING_CAST
IMPLICIT_STRING_CAST_LOSS
IMPLICIT_VARIANTS
INVALID_DIRECTIVE
LOCAL_PINVOKE
LOCALE_TO_UNICODE
MESSAGE_DIRECTIVE
NO_CFG_FILE_FOUND
NO_RETVAL
OPTION_TRUNCATED
PACKAGE_NO_LINK
PACKAGED_THREADVAR
PRIVATE_PROPACCESSOR
RLINK_WARNING
STRING_CONST_TRUNCED
SUSPICIOUS_TYPECAST
SYMBOL_DEPRECATED
SYMBOL_EXPERIMENTAL
SYMBOL_LIBRARY
SYMBOL_PLATFORM
TYPED_CONST_VARPAR
TYPEINFO_IMPLICITLY_ADDED
UNICODE_TO_LOCALE
UNIT_DEPRECATED
UNIT_EXPERIMENTAL
UNIT_INIT_SEQ
UNIT_LIBRARY
UNIT_NAME_MISMATCH
UNIT_PLATFORM
UNSAFE_CAST
UNSAFE_CODE
UNSAFE_TYPE
UNSUPPORTED_CONSTRUCT
USE_BEFORE_DEF
WIDECHAR_REDUCED
XML_CREF_NO_RESOLVE
XML_EXPECTED_CHARACTER
XML_INVALID_NAME
XML_INVALID_NAME_START
XML_NO_MATCHING_PARM
XML_NO_PARM
XML_UNKNOWN_ENTITY
XML_WHITESPACE_NOT_ALLOWED
ZERO_NIL_COMPAT