Есть понятие процедуры-охранника (или процедуры-предохранителя, как угодно). Эта процедура семантически привязана к одному контролу. Но иногда удобно обрабатывать одним охранником сразу группу контролов, при этом возникает потребность различать, какой контрол в данном случае "предохраняется".

Вдокументации(в исходнике такого нет) модуля Dialog объявлена сигнатура расширенного охранника
## Код:
```
PROCEDURE (n: INTEGER; VAR par: Par);
```
но как им пользоваться, не указано (по крайней мере, мне не удалось найти в документации ничего подобного).

Такая сигнатура используется в Controls, а используемый в редакторе свойств синтаксис вызова охранника выглядит так:
## Код:
```
PrivInteractors.Guard(1)
```
Цифра, указанная в скобках, передаётся в процедуру расширенного охранника как параметрnи это даёт возможность различать контролы.

P.S. Пример использования я обнаружил в CpcBookmarks