Показать сообщение отдельно
  #1  
Старый 19.06.2017, 17:15
kenshi245 kenshi245 вне форума
Прохожий
 
Регистрация: 08.06.2017
Сообщения: 16
Версия Delphi: Delphi
Репутация: -625
По умолчанию Как мне передать указатель?

Подскажите как сделать чтобы наследуемый метод 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.
Ответить с цитированием