Некоторые "вкусные" ключи проектной системы

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Гость

Сообщение Гость »

Здравствуйте!

Тут вот наткнулся на ключик:

#pragma debug(proc_trace=>on)

Его не понимает IDE, но можно ручками добавить в PRJ-файл. По этой команде компилятор включит в КАЖДУЮ процедуру:
при входе - вызов процедуры __a_EnterProc,
при выходе - вызов процедуры __a_ExitProc.

Эти процедуры обьявляются в тех областях видимости, на которые действует вышеприведенный ключ.

Работает это ключик в версиях C5/55/60 точно.
В младших не смотрел.

В версиях C5/55 следует реализовывать эти процедуры во внешней либе без этого ключика, так как и в эти процедуры будет вставлен их-же вызов, что приведет к бесконечной рекурсии и краху программы.

В C60 код этих процедур можно вставить прямо в саму программу, только надо взять их код в рамки:

PRAGMA('debug(proc_trace=>off)')
...
PRAGMA('debug(proc_trace=>on)')

P.S.
А вообще-то, сама по себе проектная система у Клары довольно мощная. Я имею в виду не ее IDE-оболчку, а сам язык и процессор. На нем можно писать практически небольшие программы - есть простейшие операции над файлами, своего рода рутинки (макросы), запрос некоторых параметров у разработчика и вывод сообщений как на экран, так и в файл.
В принципе, можно написать даже небольшой менеджер проекта. Я, к примеру, таким образом за один раз создаю сразу несколько дистрибутивных наборов, в зависимости от заданных параметров - build_set/demo_ver и пр.
Еще-бы заставить его генерить дистрибутивы для разных версий Клары - вообще-бы кайф был!
:D

=============================
С уважением, Олег А. Руденко.
Oleg_Rudenko@mail.ru
Oleg_Rudenko@mail333.com
Библиотека DynaLib
http://dynalib.narod.ru
Написал: ClaList(2)
Ответить