Wenn Du die Klassen in einer
Unit deklarierst, kannst Du die globale Variable zumindest im implementation-Abschnitt deklarieren, damit nicht jeder Hansl da rankommt.
[edit] Beispiel:
Unit Testklassen:
Delphi-Quellcode:
type
TElternklasse = class
public
procedure IncX;
procedure ShowX;
end;
TKindklasse = class(TElternklasse)
end;
implementation
var X: integer;
{ TElternklasse }
procedure TElternklasse.IncX;
begin
inc(X, 10);
end;
procedure TElternklasse.ShowX;
begin
ShowMessage(Classname + ': ' +IntToStr(X));
end;
MainUnit:
Delphi-Quellcode:
uses Testklassen;
procedure TFormTest.Button1Click(Sender: TObject);
var
ClassA: TElternklasse;
ClassB: TKindKlasse;
begin
ClassA := TElternklasse.Create;
try
ClassA.IncX;
ClassA.ShowX;
ClassB := TKindklasse.Create;
try
ClassB.IncX;
ClassB.ShowX;
ClassA.ShowX;
finally
ClassB.Free;
end;
finally
ClassA.Free;
end;
end;
[/edit]