Хочу обратить внимание на проблему.

Есть в описании языка функция SIZE, возвращающая специфичный для платформы размер типа. Сам я считаю её использование нежелательным. В конце-концов главное её предназначение в работе в связке с SYSTEM, пусть и через посреднические модули. Но выяснилось, что её активно используют в Blackbox для промышленных задач.
> -- Цитата:
> Есть какой-то тип - блок протокола, например. Простого протокола, уровня модбаса и т.п.Мне нужно объявить буфер, способный хранить нужный мне размер.
В то же время в сообщении о языке говорится:
> -- Цитата:
> SIZE не может применяться в константных выражениях, т.к. его значение зависит от фактической реализации компилятора.Это означает, что поведение в подобном применением SIZE является неопределённым, с соответствующими последствиями для переносимости (не смеяться, КП можно использовать вне ББ).

Схожая проблема есть с функцией SHORT. Её могут использовать для отсечения старших разрядов, что не останавливается ББ, так как по умолчанию нет проверки диапазона.
В описании языка сказано:
## Код:
```
Имя    Тип аргументов   Тип результата   Функция
SHORT(x)  LONGINT         INTEGER      тождество
```
Что не может быть выполнено при переполнении диапазона, а значит, в таком случае поведение тоже не определено.

Так как Blackbox теперь в руках сообщества, то, наверно, и Компонентный Паскаль тоже. Желательно сделать одно из двух:
1. Привести Blacbox Component Builder в состояние, в котором по умолчанию неопределённое поведение трактуется как ошибка, требующая исправления для работы приложения.
2. Привести формальное сообщение о языке к согласию с практичным применением чтобы, по крайней мере, можно было понять код, не прибегая к экспериментам с компилятором.

С точки зрения переносимости и безопасности лучше первое.