Ich stelle gerade ein projekt von Delphi 6 auf Delphi 2010 um.
In einer eigenen, kurzen
Unit verwende ich:
Code:
uses Forms, SysUtils;
initialization
DeleteFile(LogFile);
Der Compiler gibt den folgenden Hinweis aus: "H2443 Inline-Funktion "DeleteFile" wurde nicht expandiert, weil
Unit 'Windows' in der USES-Liste nicht angegeben ist."
Was soll dieser Hinweis bedeuten? DeleteFile stammt aus SysUtils und nimmt ein String-Argument. Alles klappt, wie es soll. Warum kümmert sich der Compiler darum, dass es in der
Unit Windows möglicherweise eine ähnliche lautende Prozedur gibt?
Sind die Prozeduren funktionell gleichwertig? Ich habe immer die aus SysUtils verwendet. Hat eine Vorteile gegenüber der anderen?
Die Prozedur Windows.DeleteFile nimmt ein PChar-Argument, was ich ja eigentloich auch blöde finde. Was spricht dagegen, bei SysUtils.DeleteFile zu bleiben?
Was soll der Hinweise? Muss ich ihn beachten?