Парадигма программирования
HiAsm включает в себя графическое представление понятия
Object в виде визуального элемента схемы. Разработчики знают, что названия точек для одного элемента схемы должны быть уникальными, так как среда использует имя, данное точке, как идентификатор. Расмотрим пример элемента, описывающего объект с одним методом, свойством и событием:
Такой элемент будет работать. Пользователь сможет установить значение поля
Property по-умолчанию в
designtime, прочитать и записать это поле в
runtime. Единственное ограничение такого элемента - это невозможность использования имени
Property для определения параметров вызова метода
doProperty. Вот так будет выглядеть неправильный файл конфигурации элемента:
Вывод: надо избегать ситуации когда имена верхних и нижних точек совпадают.Напрашивается вопрос как часто приходится сталкиваться с подобной ситуацией? Оказывает, что не редко. Рассмотрим реальный элемент, реализующий структуру
Rectangle в пакете CNET:
Соответственно схема инициализации структуры в
runtime будет выглядеть так:
А теперь посмотрим как выглядела бы схема, если бы не было ограничения на совпадения наименований точек элемента:
ВОПРОС: Как исправить ситуацию?
Малореальные способы: исправление среды. Например, чтобы среда для идентификации точек использовала не только имя, но и тип точки. Или, на крайний случай, использовать
case sensitive для имён, то есть, чтобы для среды имена
Property и
property были различны. Логически напрашивается ещё вариант с префиксом в названии, например так:
varProperty для нижних точек.
Предлагаемый способ: несложно реализуемый варинт использования некоего
name convention для именования нижних точек, несущих ту же смысловую нагрузку, что и верхние. Это использование символа подчёркивания «_» перед именем нижней точки, причём обязательного только в случае наличия одноимённой верхней точки:
Почему нижней точки, а не верхней? Это продиктовано реализацией функции
d() кодогенератора RTCG для правильного выполнения которой, необходимо совпадение имён верхней точки с названием свойства. Если у Вас есть своё мнение по данному вопросу, то принимаются любые идеи, могущие решить данную проблему.