Hallo,
habe eine Klasse die eine Array Eigenschaft hat. Diese Eigenschaft ist vom typ TGame welcher ein record bestehend aus den Feldern field und anz ist.
Will ich jetzt den einzelnen Feldern etwas zuordnen sagt er mir immer der linken seite kann nichts zugeordnet werden. Was muss ich ändern ?
Hier der relevante code der beiden units
Delphi-Quellcode:
type TGame = record
field : integer;
anz : integer;
end;
type TPlayer = class(TObject)
private
f_name :String;
f_stand:integer;
f_games : array of Tgame;
f_fields : array of integer;
f_points : array of integer;
function GetGames(index: integer): TGame;
procedure SetGames(index: integer; const field , anz: TGame);
public
constructor Create(name : String);
property games[index : integer]: TGame read GetGames write SetGames;
end;
implementation
{ TPlayer }
constructor TPlayer.Create(name: String);
begin
SetName(name);
setLength(f_points,1);
setlength(f_games,1);
end;
function TPlayer.GetGames(index: integer): TGame;
begin
result := f_Games[index];
end;
procedure TPlayer.SetGames(index: integer; const Value: TGame);
begin
if index > high(f_games)+1 then
begin
showMessage ('Falscher Index bei Tplayer.SetGames');
exit;
end
else if index = length(f_games) then
setlength(f_games,length(f_games));
f_games[index] := value;
end;
und noch den code aus der Dart Klasse
Delphi-Quellcode:
aspieler[i].games[0].field := 18;
aspieler[i].games[0].anz := 1;