У меня есть довольно простой вопрос, но я просто хотел убедиться.
Есть ли разница между этими двумя?
var ClassArray: array of TMyClass;
constructor TMyClass.Create;
begin
SetLength(ClassArray, Length(ClassArray)+1);
ClassArray[Length(ClassArray)-1]:=Self;
end;
begin
for i:=0 to x do
ClassArray[i].MyProcedure;
и
var PointerArray: array of Pointer;
constructor TMyClass.Create;
begin
SetLength(PointerArray, Length(PointerArray)+1);
PointerArray[Length(PointerArray)-1]:=Self;
end;
begin
for i:=0 to x do
TMyClass(PointerArray[i]).MyProcedure;
Поскольку из-за того, как он работает, когда я играю с ним, единственное отличие состоит в том, что я не могу напрямую просматривать элементы в PointerArray (так как отображается только адрес).
Спасибо