Hallo,
ich nehme an, Du meinst so etwas wie statische Klassenvariablen - gibt es nicht. Aber Du kannst mit wenig Aufwand das Verhalten nachbilden:
Delphi-Quellcode:
Unit Test;
interface
type
TMyClass =
class
private
function GetAnzahl: Integer;
public
constructor Create;
property AnzahlObjekte: Integer
read GetAnzahl;
end;
implementation
var
Anzahl: Integer;
{ TMyClass }
constructor TMyClass.Create;
begin
inherited;
Inc(Anzahl);
end;
function TMyClass.GetAnzahl: Integer;
begin
Result := Anzahl;
end;
initialization
Anzahl := 0;
end.
Du legst in der
Unit, in der sich Deine Klasse befindet, im implementation-Abschnitt eine Variable an. Damit hast Du auch nur aus der
Unit heraus auf diese Variable Zugriff. Das Setzen der Variablen auf 0 im initialization-Abschnitt ist nicht wirklich nötig, dort kannst Du aber noch andere Arbeiten machen, die Du beim Start des Programmes machen willst. Im Constructor zählst Du die Variable hoch, und dann brauchst Du noch eine Methode (ich habe eine Property verwendet), um den Inhalt der Variablen auszugeben.
Viele Grüße