Нетипизированные параметры обычно используются, когда фактический тип параметра не имеет значения.Одним из примеров может быть стандартная процедура " FillChar ", которая заполняет переменную - ЛЮБУЮ переменную - указанным байтовым значением.Вместо необходимости нескольких (на самом деле бесконечное количество) перегруженных процедур, чтобы иметь возможность заполнить произвольную переменную значением, используется нетипизированный параметр.
Нетипизированный параметр (как и любой другой параметр) может быть «входным»«(данные, поступающие в процедуру / функцию) с использованием префикса CONST
,« output »(данные, поступающие из процедуры / функции), или префикс OUT
, или оба (данные, отправляемые в процедуру, измененыи отправлено обратно) с использованием префикса VAR
.
Как вы можете заметить, процедура FillChar использует префикс VAR
, хотя OUT
будет более правильным.Однако процедура FillChar была «создана» в то время, когда префиксы OUT
не существовали в языке (существовали только CONST
и VAR
, а из двух VAR
был единственным, который позволялданные возвращаются из процедуры, поэтому использовался VAR
).