tags:

views:

1810

answers:

3

Hi

When I compile my application under Delphi 2006 I get the following warring [Pascal Warning]- W1002 Symbol 'FileSetDate' is specific to a platform

What must I do to suppress this warring?

The code

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

1) In the project options you can choose the compiler messages you want to see. If you don't care about platform independancy you can just switch of the platform warning there.

2) Another way is disabling the warning for a certain part of the code:

{$WARN SYMBOL_PLATFORM OFF}
// Your code
{$WARN SYMBOL_PLATFORM ON}

For a complete list of options look at the Delphi help file at the topic '$WARN'

3) A last way would be adding

{$WARNINGS OFF}
// Your code
{$WARNINGS ON}

but that is dangerous, because all warnings will be suppressed.

4) Additionally, as the other answers have already suggested, you could just switch to the platform independant variant of FileSetDate which works on file names (i.e. Strings), but as far as I understand that goes beyond your question.

DR
+4  A: 

You can turn off the platform unit and platform symbol compiler warnings. They are obsolete (and disabled in Delphi 2009 by default). They were introduced when there was a Delphi for Linux (Kylix). They do not have a meaning anymore. Especially with the replacement of Delphi.NET with Delphi Prism. You can turn them off for the whole project in the Project Options dialog (Compiler Messages).

Andreas Hausladen
+11  A: 

Although the answer of daniel.rikowsky solves the warning, it is not the correct solution.

You should use the platform independent version of FileSetDate:

function FileSetDate(const FileName: string; Age: Integer): Integer; overload;

Also in SysUtils.

Gamecat