AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Wie aktuell sind die Warnhinweise des Compilers
Thema durchsuchen
Ansicht
Themen-Optionen

Wie aktuell sind die Warnhinweise des Compilers

Ein Thema von Harry Stahl · begonnen am 27. Sep 2018 · letzter Beitrag vom 28. Sep 2018
Antwort Antwort
Schokohase
(Gast)

n/a Beiträge
 
#1

AW: Wie aktuell sind die Warnhinweise des Compilers

  Alt 28. Sep 2018, 06:14
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.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#2

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
Schokohase
(Gast)

n/a Beiträge
 
#3

AW: Wie aktuell sind die Warnhinweise des Compilers

  Alt 28. Sep 2018, 11:47
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.
Ja, das ist doch aber zu erwarten, dass dieses platform nur dort zum Einsatz kommt, wenn es relevant ist. Ein TList.Count liefert einen Integer zurück aber warum sollte das mit platform gekennzeichnet sein?
Habe GetFileAttr nun mit der aus System.IOUtils ersetzt und erhalte nun keinen Warnhinweis mehr.
Mit welcher denn? Etwa Delphi-Referenz durchsuchenSystem.IOUtils.TFile.GetAttributes? Dort solltest du auch eine Plattform-Warnung bekommen, sobald du mit Delphi-Referenz durchsuchenSystem.IOUtils.TFileAttribute hantierst.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.560 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie aktuell sind die Warnhinweise des Compilers

  Alt 28. Sep 2018, 13:26
Du warst schneller, als meine Änderung, die ich bezüglich des doch noch vorhandenen Warnhinweises vorgenommen habe.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz