Link to home
Start Free TrialLog in
Avatar of bengore
bengore

asked on

dyn. array as parameter of a procedure

I need a procedure to fill a dyn. array. How to do that? The following example cause an error at "SetLength(v, 10);". Can you correct the example?

procedure FillArray(var v:array of integer);
begin
  SetLength(v, 10);
  v[5]:=12;
end;

procedure TForm1.Button1Click(Sender: TObject);
var v:array of integer;
begin
  FillArray(v);
  if v[5]=12 then beep;
end;
ASKER CERTIFIED SOLUTION
Avatar of Madshi
Madshi

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Motaz
Motaz

You must allocate space befor pass it to your fill procedure:

procedure FillArray(var v:array of integer);
begin
 v[5]:=12;
end;

procedure TForm1.Button1Click(Sender: TObject);
var v:array of integer;
begin
 SetLength(V, 10);
 FillArray(v);
 if v[5]=12 then beep;
end;


Motaz
Avatar of bengore

ASKER

Thank you Madshi!