Delphi警告 - W1002符号'FileSetDate'特定于平台

时间:2008-12-09 11:43:00

标签: delphi

当我在Delphi 2006下编译我的应用程序时,我收到以下警告 [Pascal警告] - W1002符号'FileSetDate'特定于平台

我该怎样做才能抑制此警告?

代码

MyLastError:= FileSetDate( Files[ i ].Handle, DateTimeToFileDate( arcDate ) );

3 个答案:

答案 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。 您可以在“项目选项”对话框(编译器消息)中为整个项目关闭它们。