Подскажите как сделать чтобы наследуемый метод add добавлял элемент в конец именно массива внутри класса, который его вызывает?
Код:
unit test;
interface
type
a = class( tobject )
public
procedure add( i : integer; xy: pointer);
end;
b = class( a )
public
x : array of integer;
end;
c = class( a )
public
y : array of integer;
end;
implementation
procedure a.add( i : integer; xy: pointer);
begin
setlength( @xy, length( @xy ) + 1 ); //ругается на xy
self.xy[ length( self.xy ) - 1 ] := i;
end;
var
my_b: b;
my_c: c;
begin
my_b := b.create;
my_c := c.create;
my_b.add(123, @my_b.x); //Нужно добавить 123 в массив x
my_c.add(456, @my_b.y); //Нужно добавить 456 в массив y
end.