Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

Как передать массив как параметр?

01.01.2007

Передача параметров процедуры и функции в дельфи:

type Ta=array of something;
Var a:Ta;

Вариант 1.

procedure Proc(a:Ta); 

внутри процедуры создаётся копия массива, внутри процедуры работа осуществляется только с копией данных. Недостаток: если а имеет большой размер то передача его в процедуру будет долгой и с большими затратами памяти, так как процедура должна будет скопировать всё содержимое и выделить память для копии.

Вариант 2.

procedure Proc(var a:Ta);

внутри процедуры код работает именно с переменной а и её содержимым

Вариант 3.

procedure Proc(const a:Ta);
внутри процедуры запрещено изменять данные переменной а

 

Вариант 4.

procedure Proc(out a:Ta);

при входе в процедуру массив рассматривается как пустой, но после выполнения процедуры можно получить значения

Автор: Vit

Взято с Vingrad.ru https://forum.vingrad.ru