У меня немного другая задача. Нужно в процедуре заполнить значения элементов массива, изменив его размер.
Как я понял, в этом случае нужно в основной программе "обновить" указатель на массив, примерно следующем образом:
Код:
var
DATA : array of Float;
p:pointer;
procedure MassEdit(var pMass : Pointer);
var
mass: array of Float;
begin
Pointer(mass) := pMass;
SetLength(mass,3);
mas[0]:=1;
mas[1]:=1;
mas[2]:=1;
pMass:=@mass[0];
Pointer(mass) :=nil;
end;
//далее идёт кусок из текста, в котором обращаюсь к процедуре
...
p:=@DATA[0];
MassEdit(p);
pointer(DATA):=p;
...
//далее обращаемся к элементам массива DATA
Я правильно делаю?