当我在Delphi 2006下编译我的应用程序时,我收到以下警告 [Pascal警告] - W1002符号'FileSetDate'特定于平台
我该怎样做才能抑制此警告?
代码
MyLastError:= FileSetDate( Files[ i ].Handle, DateTimeToFileDate( arcDate ) );
答案 0 :(得分:23)
1)在项目选项中,您可以选择要查看的编译器消息。 如果您不关心平台独立性,您可以在那里关闭平台警告。
2)另一种方法是禁用代码的某个部分的警告:
{$WARN SYMBOL_PLATFORM OFF}
// Your code
{$WARN SYMBOL_PLATFORM ON}
有关选项的完整列表,请查看主题为“$ WARN”
的Delphi帮助文件3)最后一种方法是添加
{$WARNINGS OFF}
// Your code
{$WARNINGS ON}
但这很危险,因为所有警告都会被禁止。
4)此外,正如其他答案已经提出的那样,您可以切换到FileSetDate
的平台独立变体,该变体适用于文件名(即字符串),但到目前为止据我所知,这不是你的问题。
答案 1 :(得分:23)
虽然DR的答案解决了警告,但这不是正确的解决方案。
您应该使用与平台无关的FileSetDate版本:
function FileSetDate(const FileName: string; Age: Integer): Integer; overload;
同样在SysUtils。
答案 2 :(得分:8)
您可以关闭平台单元和平台符号编译器警告。它们已过时(默认情况下在Delphi 2009中禁用)。当有一个Delphi for Linux(Kylix)时,它们被引入。他们不再有意义了。特别是用Delphi Prism替换Delphi.NET。 您可以在“项目选项”对话框(编译器消息)中为整个项目关闭它们。