Einzelnen Beitrag anzeigen

Perlsau
(Gast)

n/a Beiträge
 
#1

Class Var vs Var

  Alt 19. Mai 2014, 00:24
Delphi-Version: 2009
Gesetzt den Fall, ich benötige einige Variablen global im ganzen Programm und richte mir dafür eine Klasse ein, die von allen anderen Units, die diese Variablen benötigen, verwendet wird. Wenn ich nun z.B. unter Public eine Variable namens AppendModus : Boolean; deklariere, hat doch jede Unit, die eine Instanz dieser Klasse erzeugt, auch eine andere Instanz dieser Variablen. Nun habe ich kürzlich irgendwo in den Weiten des Forums gelesen, daß man zu diesem Zweck Klassenvariablen deklariert:
Delphi-Quellcode:
TYPE
  TGlobalix = CLASS
    PRIVATE { Private-Deklarationen }

    PUBLIC { Public-Deklarationen  }
      Class Var FehlerMeldung,
                DB_Pfad,
                Pfad_Main,
                Modustext : String;

      Class Var StartModus,
                AppendModus,
                EditModus : Boolean;
  END;
Dazu hab ich mehrere Fragen:

1. Verfügt jede Instanz dieser Klasse über dieselben Werte der in Class Var deklarierten Variablen?

2. Muß ich vor jeder Deklaration Class Var schreiben oder sind alle Variablen, die ich nach der Anweisung Class Var hinschreibe, Klassenvariablen?

3. Sollte man hier besser mit Properties arbeiten und dann nur über die Setter- und Getter-Methoden setzen und abfragen?

Ich habe bereits damit experimentiert und z.B. den AppendModus von FormMain aus auf True gesetzt, dann vom Datenmodul aus abgefragt und das korrekte Resultat erhalten. Bin mir allerdings nicht sicher, ob man sich darauf verlassen kann ...
  Mit Zitat antworten Zitat