1. Bei Erstellung einer FMX-App gibt mir der Compiler einen Warnhinweis für die Verwendung von "FileGettAttr" aus, die Verwendung sei plattformspezifisch.
Wenn man mal in System.Sysutils reinsieht, sieht man aber, dass per IFDEF nach Windows und MAC/Linus-Plattform unterschieden wird. Warum erhalte ich also diesen Hinweis?
Nun
System.SysUtils.FileGetAttr liefert einen
Integer
Wert zurück. Soweit, so bekannt.
Und dieser Wert ist abhängig von der Plattform. Wenn man sehen möchte, wie unterschiedlich, der schaut einfach mal in den Source von
System.IOUtils.TFile.FileAttributesToInteger.
Will man also
System.SysUtils.FileGetAttr verwenden, so muss man gewährleisten, dass der Rückgabewert immer im Kontext des aktuellen Betriebssystems ausgewertet wird. Um den Entwickler daran zu erinnern gibt es diese Warnung.
Hat man dieses dann korrekt berücksichtigt, dann kann man die Warnung für den entsprechenden Code-Teil auch unterdrücken.