我有这段代码:
INTERFACE
{$WARN SYMBOL_PLATFORM OFF}
USES
Winapi.Windows, etc, {$IFDEF MSWINDOWS}Vcl.FileCtrl, {$ENDIF} System.IniFiles;
{$WARN SYMBOL_PLATFORM ON}
编译器显示:
[dcc32警告] W1005单位'Vcl.FileCtrl'是 特定于平台
即使{$ WARN SYMBOL_PLATFORM OFF}在那里 为什么?
答案 0 :(得分:12)
您使用的是错误的指令。 SYMBOL_PLATFORM
控制标记为特定平台的符号的警告。您的警告与标有特定平台的单元有关。
使用UNIT_PLATFORM
控制这些警告。
整个单元被标记(使用平台提示指令),其中包含可能并非在所有平台上都可用的材料。如果您正在编写多设备应用程序,则该设备可能会导致问题。例如,使用OleAuto中定义的对象的单元可能使用PLATFORM指令进行标记。
$ WARN UNIT_PLATFORM ON / OFF编译器指令在指定platform指令的单元中打开或关闭有关platform指令的所有警告。
有一种非常简单的方法让您自己解决这个问题。看看我上面链接的两个文档主题。他们的头衔是:
您收到的编译器警告将警告命名为W1005。这是您需要知道的,以确定用于控制它的指令。如果您在查找它们时遇到任何问题,只需在此实例中搜索警告名称W1005。或者参考documentation that lists them all。