WeG*_*ars 8 delphi cross-platform compiler-directives delphi-xe7
我有这段代码:
INTERFACE
{$WARN SYMBOL_PLATFORM OFF}
USES
Winapi.Windows, etc, {$IFDEF MSWINDOWS}Vcl.FileCtrl, {$ENDIF} System.IniFiles;
{$WARN SYMBOL_PLATFORM ON}
Run Code Online (Sandbox Code Playgroud)
编译器显示:
[dcc32警告] W1005单元'Vcl.FileCtrl'特定于平台
即使{$ WARN SYMBOL_PLATFORM OFF}在那里.
为什么?
Dav*_*nan 13
您使用的是错误的指令.SYMBOL_PLATFORM控制标记为特定平台的符号的警告.您的警告与标记平台特定的单位有关.
使用控制这些警告UNIT_PLATFORM.
整个单元被标记(使用平台提示指令),其中包含可能并非在所有平台上都可用的材料.如果您正在编写多设备应用程序,则该设备可能会导致问题.例如,使用OleAuto中定义的对象的单元可能使用PLATFORM指令进行标记.
$ WARN UNIT_PLATFORM ON/OFF编译器指令在指定platform指令的单元中打开或关闭有关platform指令的所有警告.
有一个非常简单的方法让你自己解决这个问题.看看我上面链接的两个文档主题.他们的头衔是:
您收到的编译器警告将警告命名为W1005.这是您需要知道的,以确定用于控制它的指令.如果您在查找它们时遇到任何问题,只需在此实例中搜索警告名称W1005.或者参考列出所有文档的文档.
| 归档时间: |
|
| 查看次数: |
1963 次 |
| 最近记录: |