Я подобной проблемы не обнаружил. Вот, попробуйте:unit Unit13;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;type TArrayDouble = array of double;type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Memo1: TMemo; Button3: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); function something(in1:integer):TArrayDouble; procedure Button3Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: TForm1; MassivData:TArrayDouble; DiffMassivData: TArrayDouble;implementation{$R *.dfm}function TForm1.something(in1:integer):TArrayDouble;vark1:integer;tmp:TArrayDouble;beginsetlength(tmp, 6);for k1:=1 to in1 do tmp[k1]:=(6-k1)*pi;something:=tmp;end;procedure TForm1.Button1Click(Sender: TObject);vark1:integer;beginsetlength(massivdata, 6);setlength(Diffmassivdata, 6);for k1:=1 to 5 do massivdata[k1]:=(k1)*pi;for k1:=1 to 5 do diffmassivdata[k1]:=0;button2.Click;end;procedure TForm1.Button2Click(Sender: TObject);vark1:integer;beginfor k1:=1 to 5 do memo1.Lines.Add(floattostr(massivdata[k1]));memo1.Lines.Add(‘==================‘);for k1:=1 to 5 do memo1.Lines.Add(floattostr(diffmassivdata[k1]));memo1.Lines.Add(‘%%%%%%%%%%%%%%%%%%%%%%%%%%%‘);end;procedure TForm1.Button3Click(Sender: TObject);begindiffmassivdata:=something(5);button2.Click;end;end.