Hallo,
ich hab eine Klasse mit einer array property. Das array enthält records.
Hier mal das ganze vereinfacht.
Wieso kann ich den record-Werten nichts zuweisen?
Delphi-Quellcode:
type
TRecA = record
number1, number2: integer;
end;
TTest = class
private
FArray1: array [0 .. 10] of TRecA;
function Get(index: integer): TRecA;
procedure Put(index: integer; const value: TRecA);
public
property Array1[index: integer]: TRecA read Get write Put; default;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
test: TTest;
implementation
{$R *.dfm}
function TTest.Get(index: integer): TRecA;
begin
Result:= FArray1[index];
end;
procedure TTest.Put(index: integer; const value: TRecA);
begin
FArray1[index]:= value;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if test = nil then test:= TTest.Create;
test.Array1[0].number1:= 10; // kann nicht zugewiesen werden
end;