Delphi Waring 的信息
Display Preferences
Warning messages (Delphi)
Go Up to Delphi Compiler Directives (List) Index
Type
Switch
Syntax
{$WARN identifier ON | OFF | ERROR | DEFAULT}
Default
All warnings are enabled
Scope
Local
Remarks
The $WARN directive gives you fine-grained control over individual warning messages.
Syntax Effect
{$WARN identifier ON} Allows the compiler to display the warning specified by the identifier
{$WARN identifier OFF} The specified warning is not displayed
{$WARN identifier ERROR} The specified warning is treated as error
{$WARN identifier DEFAULT} Uses the default settings from the Project Options dialog box.
These warnings relate to symbols or units that use the hint directives, platform, deprecated, and library.
The identifier in the $WARN directive can have any of the following values:
BOUNDS_ERROR: Turns on or off warnings produced if a conversion is made that is no longer legal, owing to the lack of large unsigned types in Delphi versions prior to Delphi 4.
(See W1012 Constant expression violates subrange bounds.)
GARBAGE: Turns on or off warnings produced when the presence of non-whitespace text is detected past the end of the final 'end.' in the program, unit, library or package
(See W1011 Text after final 'END.' - ignored by compiler (Delphi).)
HIDDEN_VIRTUAL: Turns on or off warnings produced when a descendant declares a method of the same name as a method in an ancestor, and the ancestor method is virtual, but the descendant's method is not an override.
(See W1010 Method '%s' hides virtual method of base type '%s' (Delphi).)
HIDING_MEMBER: Turns on or off warnings produced when a descendant declares a new property of the same name as a property in an ancestor.
(See W1009 Redeclaration of '%s' hides a member in the base class (Delphi).)
HRESULT_COMPAT: Turns on or off warnings about using the type 'Integer' where 'HRESULT' is correct.
(See W1008 Integer and HRESULT interchanged.)
STRING_CONST_TRUNCED: Turns on or off all warnings about instances in which the compiler assigns a string literal or a constant value to a short string location that cannot hold the entire string.
(See W1014 String constant truncated to fit STRING%ld (Delphi).)
SYMBOL_DEPRECATED: Turns on or off all warnings about the deprecated directive on symbols in the current unit.
(See W1000 Symbol '%s' is deprecated (Delphi).)
SYMBOL_EXPERIMENTAL: Turns on or off all warnings about the experimental directive on symbols in the current unit.
(See W1003 Symbol '%s' is experimental (Delphi).)
SYMBOL_PLATFORM: Turns on or off all warnings about the platform directive on symbols in the current unit. (
See W1002 Symbol '%s' is specific to a platform (Delphi).)
SYMBOL_LIBRARY: Turns on or off all warnings about the library directive on symbols in the current unit.
(See W1001 Symbol '%s' is specific to a library (Delphi).)
UNIT_DEPRECATED: Turns on or off all warnings about the deprecated directive applied to a unit declaration.
(See W1006 Unit '%s' is deprecated (Delphi).)
UNIT_EXPERIMENTAL: Turns on or off all warnings about the experimental directive applied to a unit declaration.
(See W1007 Unit '%s' is experimental (Delphi).)
UNIT_LIBRARY: Turns on or off all warnings about the library directive in units where the library directive is specified.
(See W1004 Unit '%s' is specific to a library (Delphi).)
UNIT_PLATFORM: Turns on or off all warnings about the platform directive in units where the platform directive is specified.
(See W1005 Unit '%s' is specific to a platform (Delphi).)
ZERO_NIL_COMPAT: Turns on or off all warnings about instances in which the compiler converts 0 to a pointer with the value nil.
(See W1013 Constant 0 converted to NIL (Delphi).)
The only warnings that can be turned on/off using $WARN are the ones listed above.
The warnings set by the inline $WARN directive are carried for the compilation unit in which the directive appears, after which it reverts to the previous state. The warnings set by a $WARN directive take effect from that point on in the file.
The $WARNINGS directive also controls the generation of compiler warnings.
Examples
The following $WARN directive results in warnings about all references to experimental symbols in the current module:
{$WARNINGS ON}
{$WARN SYMBOL_EXPERIMENTAL ON}
procedure Foo; experimental;
begin
end;
begin
Foo // Warning: W1003 Symbol 'Foo' is experimental
end.
If that $WARN directive were changed to:
{$WARN SYMBOL_EXPERIMENTAL ERROR}
then the compiler message would change to:
Error: E1003 Symbol 'Foo' is experimental
and this module would not be compiled.
Another example:
{$WARN WIDECHAR_REDUCED OFF}
if c in ['a', 'b'] then
// ...
{$WARN WIDECHAR_REDUCED DEFAULT}
Possible warnings:
• ID_DEPRECATED, //"x1000 Symbol '%s' is deprecated%s"
• ID_LIBRARY, //"x1001 Symbol '%s' is specific to a library"
• ID_PLATFORM, //"x1002 Symbol '%s' is specific to a platform"
• ID_EXPERIMENTAL, //"x1003 Symbol '%s' is experimental"
• UNIT_LIBRARY, //"x1004 Unit '%s' is specific to a library"
• UNIT_PLATFORM, //"x1005 Unit '%s' is specific to a platform"
• UNIT_DEPRECATED, //"x1006 Unit '%s' is deprecated"
• UNIT_EXPERIMENTAL, //"x1007 Unit '%s' is experimental"
• HRESULT_COMPAT, //"x1008 Integer and HRESULT interchanged"
• HIDING_MEMBER, //"x1009 Redeclaration of '%s' hides a member in the base class"
• HIDDEN_VIRTUAL, //"x1010 Method '%s' hides virtual method of base type '%s'"
• GARBAGE, //"x1011 Text after final 'END.' - ignored by compiler"
• BOUNDS_ERROR, //"x1012 Constant expression violates subrange bounds"
• ZERO_NIL_COMPAT, //"x1013 Constant 0 converted to NIL"
• STRING_CONST_TRUNCED, //"x1014 String constant truncated to fit STRING[%ld]"
• FOR_LOOP_VAR_VARPAR, //"x1015 FOR-Loop variable '%s' cannot be passed as var parameter"
• TYPED_CONST_VARPAR, //"x1016 Typed constant '%s' passed as var parameter"
• ASG_TO_TYPED_CONST, //"x1017 Assignment to typed constant '%s'"
• CASE_LABEL_RANGE, //"x1018 Case label outside of range of case expression"
• FOR_VARIABLE, //"x1019 For loop control variable must be simple local variable"
• CONSTRUCTING_ABSTRACT, //"x1020 Constructing instance of '%s' containing abstract method '%s.%s'"
• COMPARISON_FALSE, //"x1021 Comparison always evaluates to False"
• COMPARISON_TRUE, //"x1022 Comparison always evaluates to True"
• COMPARING_SIGNED_UNSIGNED, //"x1023 Comparing signed and unsigned types - widened both operands"
• COMBINING_SIGNED_UNSIGNED, //"x1024 Combining signed and unsigned types - widened both operands"
• UNSUPPORTED_CONSTRUCT, //"x1025 Unsupported language feature: '%s'"
• FILE_OPEN, //"x1026 File not found: '%s'"
• FILE_OPEN_UNITSRC, //"F1027 Unit not found: '%s' or binary equivalents (%s)"
• BAD_GLOBAL_SYMBOL, //"x1028 Bad global symbol definition: '%s' in object file '%s'"
• DUPLICATE_CTOR_DTOR, //"x1029 Duplicate %s '%s' with identical parameters will be inacessible from C++"
• INVALID_DIRECTIVE, //"x1030 Invalid compiler directive: '%s'"
• PACKAGE_NO_LINK, //"x1031 Package '%s' will not be written to disk because -J option is enabled"
• PACKAGED_THREADVAR, //"x1032 Exported package threadvar '%s.%s' cannot be used outside of this package"
• IMPLICIT_IMPORT, //"x1033 Unit '%s' implicitly imported into package '%s'"
• HPPEMIT_IGNORED, //"x1034 $HPPEMIT '%s' ignored"
• NO_RETVAL, //"x1035 Return value of function '%s' might be undefined"
• USE_BEFORE_DEF, //"x1036 Variable '%s' might not have been initialized"
• FOR_LOOP_VAR_UNDEF, //"x1037 FOR-Loop variable '%s' may be undefined after loop"
• UNIT_NAME_MISMATCH, //"E1038 Unit identifier '%s' does not match file name"
• NO_CFG_FILE_FOUND, //"x1039 No configuration files found"
• IMPLICIT_VARIANTS, //"x1040 Implicit use of Variants unit"
• UNICODE_TO_LOCALE, //"x1041 Error converting Unicode char to locale charset. String truncated. Is your LANG environment variable set correctly?"
• LOCALE_TO_UNICODE, //"x1042 Error converting locale string '%s' to Unicode. String truncated. Is your LANG environment variable set correctly?"
• IMAGEBASE_MULTIPLE, //"x1043 Imagebase $%X is not a multiple of 64k. Rounding down to $%X"
• SUSPICIOUS_TYPECAST, //"x1044 Suspicious typecast of %s to %s"
• PRIVATE_PROPACCESSOR, //"x1045 Property declaration references ancestor private '%s.%s'"
• UNSAFE_TYPE, //"x1046 Unsafe type '%s%s%s'"
• UNSAFE_CODE, //"x1047 Unsafe code '%s'"
• UNSAFE_CAST, //"x1048 Unsafe typecast of '%s' to '%s'"
• OPTION_TRUNCATED, //"x1049 value '%s' for option %s was truncated"
• WIDECHAR_REDUCED, //"x1050 WideChar reduced to byte char in set expressions. Consider using 'CharInSet' function in 'SysUtils' unit."
• DUPLICATES_IGNORED, //"x1051 Duplicate symbol names in namespace. Using '%s.%s' found in %s. Ignoring duplicate in %s"
• UNIT_INIT_SEQ, //"x1052 Can't find System.Runtime.CompilerServices.RunClassConstructor. Unit initialization order will not follow uses clause order"
• LOCAL_PINVOKE, //"x1053 Local PInvoke code has not been made because external routine '%s' in package '%s' is defined using package local types in its custom attributes" // (.Net only)
• MESSAGE_DIRECTIVE, //"x1054 %s"
• TYPEINFO_IMPLICITLY_ADDED, //"x1055 PUBLISHED caused RTTI ($M+) to be added to type '%s'"
• RLINK_WARNING, //"x1056 %s%s%s"
• IMPLICIT_STRING_CAST, //"x1057 Implicit string cast from '%s' to '%s'"
• IMPLICIT_STRING_CAST_LOSS, //"x1058 Implicit string cast with potential data loss from '%s' to '%s'"
• EXPLICIT_STRING_CAST, //"x1059 Explicit string cast from '%s' to '%s'"
• EXPLICIT_STRING_CAST_LOSS, //"x1060 Explicit string cast with potential data loss from '%s' to '%s'"
• CVT_WCHAR_TO_ACHAR, //"x1061 Narrowing given WideChar constant (#$%04X) to AnsiChar lost information"
• CVT_NARROWING_STRING_LOST, //"x1062 Narrowing given wide string constant lost information"
• CVT_ACHAR_TO_WCHAR, //"x1063 Widening given AnsiChar constant (#$%02X) to WideChar lost information"
• CVT_WIDENING_STRING_LOST, //"x1064 Widening given AnsiString constant lost information"
• NON_PORTABLE_TYPECAST, //"x1065 Typecast of %s to %s is non-portable; code may run differently on 32bit and 64bit platforms"
• LOST_EXT80_PRECISION, //"x1066 Lost Extended floating point precision. Reduced to Double"
• LNKDFM_NOTFOUND, //"x1067 Unable to load DLL %s"
• IMMUTABLE_STRINGS, //"x1068 Modifying strings in place may not be supported in the future"
• MOBILE_DELPHI, //"x1069 %s"
• UNSAFE_VOID_POINTER, //"x1070 Use of untype pointer can disrupt instance reference counts"
• XML_WHITESPACE_NOT_ALLOWED, //"x1201 XML comment on '%s' has badly formed XML -- 'Whitespace is not allowed at this location.'"
• XML_UNKNOWN_ENTITY, //"x1202 XML comment on '%s' has badly formed XML -- 'Reference to undefined entity '%s'.'"
• XML_INVALID_NAME_START, //"x1203 XML comment on '%s' has badly formed XML -- 'A name was started with an invalid character.'"
• XML_INVALID_NAME, //"x1204 XML comment on '%s' has badly formed XML -- 'A name contained an invalid character.'"
• XML_EXPECTED_CHARACTER, //"x1205 XML comment on '%s' has badly formed XML -- 'The character '%c' was expected.'"
• XML_CREF_NO_RESOLVE, //"x1206 XML comment on '%s' has cref attribute '%s' that could not be resolved"
• XML_NO_PARM, //"x1207 XML comment on '%s' has a param tag for '%s', but there is no parameter by that name"
• XML_NO_MATCHING_PARM, //"x1208 Parameter '%s' has no matching param tag in the XML comment for '%s' (but other parameters do)"
See Also
Warnings (Delphi) ($WARNINGS)
Declarations and Statements
Directives, in Fundamental Syntactic Elements
Category: Delphi
Page Discussion View source History
Log in / create account
Search
RAD Studio XE4
XE4 Examples and Samples
XE4 Libraries
Main Page - XE4 Topics Wiki
What's New in XE4
Tutorials
FireMonkey Application Platform
Cross-Platform Applications
Getting Started
Steps in Developing a Project
Key Application Types
Win32 Developer's Guide
Modeling Tools
IDE Reference and Command-Line Utilities
Delphi Reference
C++ Reference
Subject Index
HTML5 Builder
Previous Versions
XE3 Topics
XE2 Topics
XE Topics
2010 Topics
In Other Languages
Deutsch
Français
日本語
Assistance
Known Problems and Recent Fixes
Random Page
Recent changes
Help
Toolbox
What links here
Related changes
Special pages
Printable version
Permanent link
This page was last modified on 26 February 2013, at 11:16. Privacy policy About RAD Studio Disclaimers Help Feedback
Delphi Waring 的信息的更多相关文章
- delphi弹出信息框大全(转载)
1. 警告信息框 MessageBox(Handle,'警告信息框','警告信息框',MB_ICONWARNING); 2.疑问信息框 MessageBox(Handle,'疑问信息框','疑问信息框 ...
- Delphi 编译错误信息表
; not allowed before ELSE ElSE前不允许有“;” <clause> clause not allowed in OLE automation section 在 ...
- delphi弹出信息框大全
1. 警告信息框 MessageBox(Handle,'警告信息框','警告信息框',MB_ICONWARNING);2.疑问信息框 MessageBox(Handle,'疑问信息框','疑问信息框' ...
- Delphi XE XML信息的读取
<?xml version=""?> <ConString> <Item> <Name/> <Type>C</Ty ...
- delphi 如何关闭 Unsafe typecast of 和 Unsafe type 的waring
有时在Delphi使用指针类型的数据,总是提示如下: [Warning] FGroupFeedBack.pas(796): Unsafe typecast of 'Pointer' to 'TObje ...
- Delphi的BPL介绍和使用 转
了解BPL和DLL的关系将有助于我们更好地理解DELPHI在构件制作.运用和动态.静态编译的工作方式.对初学DELPHI但仍对DELPHI开发不甚清晰的朋友有一定帮助.BPL vs. DLL(原文ht ...
- 4种Delphi IDE的调试时查看内存的方法,太酷了!
1.ctrl+alt+m,可以查看每个函数过程的内存位置 2.Ctrl+Alt+C 查看代码对应的汇编 3.原来用delphi看变量信息一直是简单的用watch看,但是有时候变量值直接用特定类型看总是 ...
- Delphi的自动编译软件Want
Delphi自动编译环境的搭建及使用 什么是Want Want是一套Windows下用于编译Delphi源代码的工具.Want的名称是Windows Ant的意思. Ant是Java下最著名的自动编译 ...
- Elite Container DELPHI下的一个轻量级IoC对象容器
一.简介: Elite Container是DELPHI下的一个轻量级IoC对象容器(IoC:Inverse of Control,反转控制).它是参考了Java中的Spring框架(主要是配置文件的 ...
随机推荐
- 如何解决VS启动越来越慢
VS2013 用久后,现在启动和打开项目变得很慢 解决方案: A.清理缓存 VS2010清理缓存:启用vs2010命令行工具:在vs2010命令提示符下,执行devenv.exe /resetuser ...
- spoj 147
dfs枚举真值 #include <cstdio> #include <cstring> #include <cstdlib> #include <stack ...
- Mac OS X中MacPorts的安装使用备忘
Mac下面除了用dmg.pkg来安装软件外,比较方便的还有用MacPorts来帮助你安装其他应用程序,跟BSD中的ports道理一样.MacPorts就像apt-get.yum一样,可以快速安装些软件 ...
- POJ 3641
Pseudoprime numbers Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 6044 Accepted: 24 ...
- MVC4.0中下来列表框的,两种使用方法DropDownList
后台控制器代码 public ActionResult Drop() { var list = new List<SchoolInfo>(); list.Add(new SchoolInf ...
- poj 1730 Perfect Pth Powers
这个有2种方法. 一种是通过枚举p的值(p的范围是从1-32),这样不会超时,再就是注意下精度用1e-8就可以了,还有要注意负数的处理…… #include<iostream> #incl ...
- 李洪强iOS开发之initWithFrame,initWithCoder和aweakFormNib
1 initWithFrame 通过代码创建控件的话用这个方法设置 2 initWithCoder(先执行) 与从xib加载有关系的 在此方法里面设置原有子控件的值是不行的,因为还没有连好线 3 ...
- 【mysql的编程专题】触发器
类似tp里面的数据模型回调接口,在数据表增删改的前或后触发执行其他的预订的sql; 一个触发器要具备4要素: 1.监视地点 -- 要执行触发器的表 2.监视事件 -- 由什么DML事件来牵引 3.触发 ...
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
转载:http://itindex.net/detail/50710-springaop-controller-service 从业近二,三年了,第一次写博客,平时做做脚手架或者架构一些基础框架然后给 ...
- [Unity菜鸟] 摄像头
1. 连接外置摄像头 2. Unity3D中调用外接摄像头,并保存为图片文件