Class vars sind nix anderes als globale Variablen mit nem zusätzlichen Scope - daher:
Ähh ... was bedeutet
Scope?
1. Ja - das sie ja an die Klasse gebunden sind und nicht an die Instanz
Das ist erfreulich
2. Nein, solange keine Methoden oder Sichtbarkeitsmodifizierer kommen sind alle nachfolgenden class vars.
Auch das erleichtert die Arbeit sehr
3. Ich persönlich verwende für Felder nur private oder protected, daher Getter und Setter für Zugriff von außen.
Okay, dann sieht das in Zukunft so bei mir aus:
Delphi-Quellcode:
TYPE
TGlobalix = CLASS
PRIVATE { Private-Deklarationen }
Class Var fFehlerMeldung,
fDB_Pfad,
fPfad_Main,
fModustext : String;
fStartModus,
fAppendModus,
fEditModus : Boolean;
Function GetfFehlerMeldung : String;
Procedure SetfFehlerMeldung(Const Value : String);
PUBLIC { Public-Deklarationen }
Property Fehlermeldung : String read GetfFehlerMeldung write SetfFehlerMeldung;
...
END;
IMPLEMENTATION
{TGlobalix}
Function TGlobalix.GetfFehlermeldung : String;
begin
Result := fFehlermeldung;
end;
Procedure TGlobalix.SetfFehlerMeldung(Const Value : String);
begin
fFehlerMeldung := Value;
end;
...
Die Properties, die auf Klassenvariablen zugreifen, muß man vermutlich nicht besonders kennzeichnen, oder?