Okay, hab' ich schon befürchtet, daß ich jetzt ungefähr 85000 neue getter und setter brauche...
Nicht zwangsläufig:
Delphi-Quellcode:
TCustomGrafik =
class(TGrafik)
public
AInteger1: integer;
AInteger2: integer;
AInteger3: integer;
end;
TForm1 =
class(TForm)
protected
fGrafik: TCustomGrafik;
function GetIntVar(aIndex: Integer): Integer;
virtual;
procedure SetIntVar(aIndex: Integer; aValue: Integer);
virtual;
public
property AInteger1: integer
Index 0
read GetIntVar
write SetIntVar;
property AInteger2: integer
Index 1
read GetIntVar
write SetIntVar;
property AInteger3: integer
Index 2
read GetIntVar
write SetIntVar;
end;
implementation
function TForm1.GetIntVar(aIndex: Integer): Integer;
begin
case aIndex
of
0: result := fGrafik.AInteger1;
1: result := fGrafik.AInteger2;
2: result := fGrafik.AInteger3;
else raise Exception.Create('
Invalid Index');
end;
end;
procedure TForm1.SetIntVar(aIndex: Integer; aValue: Integer);
begin
case aIndex
of
0: fGrafik.AInteger1 := aValue;
1: fGrafik.AInteger2 := aValue;
2: fGrafik.AInteger3 := aValue;
else raise Exception.Create('
Invalid Index');
end;
end;
Aber wie bereits erwähnt wurde ist die objektorientierte Variante besser (also über FormInstanz.Grafik.Property)