AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

{$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

Ein Thema von hoika · begonnen am 29. Mai 2013 · letzter Beitrag vom 30. Mai 2013
Antwort Antwort
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.008 Beiträge
 
Delphi 10.4 Sydney
 
#1

{$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 29. Mai 2013, 08:08
Hallo,

unter D2007.

Delphi-Quellcode:
unit Unit1;

interface

{$WARN UNIT_PLATFORM OFF}
{$WARN SYMBOL_PLATFORM OFF}

implementation

  faArchive <<-- Warnung

end;
Trotz des WARN OFF kommt die Platform-Warnung, warum ?
Es hilft nur das {$WARN SYMBOL_PLATFORM OFF} direkt im Code einzusetzen.
Ist aber doof ...

Warum geht das nicht ?

Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.815 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 29. Mai 2013, 09:02
Warum geht das nicht ?
Weil sich das UNIT_PLATFORM nur auf plattformabhängige Units bezieht. Für plattformabhängige Symbole gibt es eben SYMBOL_PLATFORM.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.008 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 09:10
Hallo,

in vielen Beispielen steht das aber direkt hinter interface (oder irre ich mich jetzt ?),
so wie ich das oben gezeigt hatte.

Muss ich das also immer direkt in den Code schreib ? ;(

Ich durchstöbere gerade unsere alten Units nach Code, der unter FMX überarbeitet werden muss
und wollte mit das oben per IFDEF MACOS leichter machen.

Und ja, ich weiss, so einfach ist das mit dem FMX nicht


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.911 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 09:17
Dies Compilerdefines kann man doch schon seit Jahren auch in den Projekteinstellungen definieren.
Ich würde es dort erledigen als in jede Unit das schreiben zu müssen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.008 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 09:30
Hallo,

hm, dann müsste ich das im FMX-Proekt rausnehmen,
wäre auch ne Variante.
Auf so was einfaches bin ich nicht gekommen

Danke


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.815 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 10:28
in vielen Beispielen steht das aber direkt hinter interface (oder irre ich mich jetzt ?),
so wie ich das oben gezeigt hatte.

Muss ich das also immer direkt in den Code schreib ? ;(
Die Platform direktive kann eigentlich hinter jeder Deklaration stehen. Man kann also eine ganze Unit als platform deklarieren, was dann die entsprechende Warnung (UNIT_PLATFORM) ausgibt, wenn man diese Unit benutzt. Unit Vcl.FileCtrl ist ein Beispiel für eine platform Unit.

Etwas Anderes sind Symbole (Konstanten, Typen, Variablen, Methoden), die als platform deklariert sind. Verwendet man diese in seinem Code kommt die entsprechende Warnung (SYMBOL_PLATFORM). Solange die aktuelle Unit nur für eine Plattform gedacht ist, kann man am Anfang die Warnungen ausschalten. Diverse RTL/VCL-Units machen das so.

Das Ausschalten dieser Warnungen sollte aber nur in den Fällen erfolgen, wo sicher nur für eine Plattform entwickelt wird. In Units, die für alle Plattformen verwendet werden sollen, lässt man die Warnungen besser an.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.008 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 13:26
Hallo,

< kann man am Anfang die Warnungen ausschalten >

Wie du ganz oben siehst, habe ich genau das gemacht.
Trotzdem kommt die Meldung ...


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.815 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: {$WARN UNIT_PLATFORM OFF} funktioniert nicht ?

  Alt 30. Mai 2013, 15:14
< kann man am Anfang die Warnungen ausschalten >

Wie du ganz oben siehst, habe ich genau das gemacht.
Trotzdem kommt die Meldung ...
Entweder habe ich es noch nicht verstanden, oder ich kann es hier nicht nachvollziehen.

Delphi-Quellcode:
{$WARN SYMBOL_PLATFORM OFF}
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs;

type
  TForm1 = class(TForm)
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  temp: integer = faArchive; // keine Warnung
end.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf