| FTCG | - Расширение FTCG |
Расширение FTCG
Для чего используется расширение
Такая возможность CG существует для организации более удобного и компактного окружения элемента данного пакета. Благодаря хорошо продуманному набору расширений разработчик элемента получает возможность проектировать более удобочитаемый и переносимый между пакетами скрипт. Кроме того посредством этой же возможности в рамках каждого конкретного пакета можно реализовать свой уровень абстракции, берущий на себя некоторую рутинную работу, связанную с прописыванием часто повторяющихся одинаковых кусков кода. Подробнее об этом и будет рассказано в данной статье.
Встроенный бъект lng
Расширение функциональности скрипта CG осуществляется через реализацию методов объекта lng. Процедура регистрации и реализации своего собственного метода достаточно проста. Кодогенератор при создание карты встроенных объектов вызывает внешнюю ф-цию fill_lng_object, которая должна вернуть массив методов объекта lng и их общее количетсво. Описание данной ф-ции и передаваемые ей параметры можно посмотреть в файле CodeGen.dpr, либо в файле direct.inc любого FTCG пакета.
После заполнения структуры методов разработчику необходимо реализовать так же ф-цию lng_proc, которую CG вызывает всякий раз, при использование методов объекта lng в скрипте элемента. Этой ф-ции в числе прочих параметров передаются объект Parser, содержащий все необходимые методы и объекты для доступа к данным элемента и генерации кода, а так же параметр Index, определяющий номер метода в заполненной ранее карте.
После заполнения структуры методов разработчику необходимо реализовать так же ф-цию lng_proc, которую CG вызывает всякий раз, при использование методов объекта lng в скрипте элемента. Этой ф-ции в числе прочих параметров передаются объект Parser, содержащий все необходимые методы и объекты для доступа к данным элемента и генерации кода, а так же параметр Index, определяющий номер метода в заполненной ранее карте.
Переносимость
Следует достаточно аккуратно использовать методы объекта lng, предоставленные автором пакета в руки разработчика элементов. Причина проявления повышенной аккуратности достаточно проста и очевидна: элемент, пользующийся расширениями данного пакета скорей всего больше ни в каком другом пакете работать не будет, поскольку соответствующих методов объекта lng там может не оказаться.
BB-code статьи для вставки
Всего комментариев: 0
(комментарии к статье еще не добавлены)