Hallo habe eine klasse TPlayer geschrieben die über eine Array eigenschaft points verfügt. Wenn ich allerdings darauf zugreifen will, funktioniert das nicht, weil der zeiger von points auf nil zeigt.
Wie kann ich diese eigenschaft initialsieren weil setlength funktioniert ja nciht oder wie setze ich die länge schon beim objekt anlegen?
Delphi-Quellcode:
type TPlayer = class(TObject)
private
f_name :String;
f_stand:integer;
f_games : array of Tgame;
procedure setStand(stand : Integer);
procedure setName(name : string);
function GetPoints(index: integer): integer;
procedure SetPoints(Value: integer;index: integer);
public
constructor Create(name : String);
property name: String read f_Name write setName; //spielername
property stand:Integer read f_Stand write setStand; //aktueller punktestand bzw. nächstes Ziel
property points[index : integer]: integer read GetPoints write SetPoints; default
end;
implementation
{ TPlayer }
constructor TPlayer.Create(name: String);
begin
SetName(name);
end;
function TPlayer.GetPoints(index: integer): integer;
begin
result := Points[index];
end;
procedure TPlayer.setName(name: string);
begin
f_name := name;
end;
procedure TPlayer.SetPoints( value: integer;index: integer);
begin
points[index] := value;
end;
procedure TPlayer.setStand(stand: Integer);
begin
f_stand := stand;
end;