Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wie aktuell sind die Warnhinweise des Compilers

  Alt 28. Sep 2018, 11:31
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 Delphi-Referenz durchsuchenSystem.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 Delphi-Referenz durchsuchenSystem.IOUtils.TFile.FileAttributesToInteger.

Will man also Delphi-Referenz durchsuchenSystem.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.
OK, tatsächlich erhält nicht jede Funktion, die einen Integer zurückliefert, die Kennzeichnung "platform", sondern anscheinend nur dann, wenn es wirlich relevant ist. Das ist gut.

Habe GetFileAttr nun mit der aus System.IOUtils ersetzt.

Bekomme aber nun einen Warnhinweis, dass TFileAttributes platformspezifisch sei. Also letztlich muss ich hier nun die Warnung ausschalten.

Geändert von Harry Stahl (28. Sep 2018 um 11:37 Uhr)
  Mit Zitat antworten Zitat