Das sollte eigentlich in einem Contructor erfolgen.
Delphi-Quellcode:
type
TSpielfeld = class(TObject)
public
Datei: string; // Level-Datei
constructor create; overload;
constructor create(const FileName: string); overload;
end;
TSpiel = class(TObject)
public
Spielfeld: TSpielfeld; // ein Spielfeld
constructor create; overload;
constructor create(const FileName: string); overload;
end;
implementation
{ TSpiel }
constructor TSpiel.create(const FileName: string);
begin
inherited create;
Spielfeld := TSpielfeld.Create(FileName);
end;
constructor TSpiel.create;
begin
inherited create;
Spielfeld := TSpielfeld.Create;
end;
{ TSpielfeld }
constructor TSpielfeld.create;
begin
inherited create;
end;
constructor TSpielfeld.create(const FileName: string);
begin
inherited create;
Datei := FileName;
end;
So könnte man es dann verwenden
Delphi-Quellcode:
var
Spiel: TSPiel;
begin
Spiel := TSpiel.create('BlaBla.Txt');
try
ShowMessage(Spiel.Spielfeld.Datei);
finally
FreeAndNil(Spiel);
end;
end;
oder...
Delphi-Quellcode:
var
Spiel: TSPiel;
begin
Spiel := TSpiel.create;
try
Spiel.SpielFeld.Datei := 'BlaBla.Txt';
ShowMessage(Spiel.Spielfeld.Datei);
finally
FreeAndNil(Spiel);
end;
end;