Изменение режима трассировки макропрограмм

Материал из K3-Macro
(перенаправлено с «MacroMode»)
Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎

MacroMode keys

Команда MacroMode включает/отключает/меняет состояние режима трассировки макропрограмм в зависимости от установленных ключей Keys.

Возможные состояния ключей keys:


MacroMode Trace {on|off}

Ключ включает (on) или выключает (off) состояние трассировки макропрограмм.

Внимание! Команда Passzip блокирует включение MacroMode Trace

Режимы отладки макропрограмм

MacroMode ShowError {on|off}

Ключ включает (on) или выключает (off) состояние режима показа места (строки) ошибок в макропрограмме.

Также существует возможность управлять выводом в командное окно выполненных строк макропрограммы. Этот режим значительно замедляет работу макропрограмм, но позволяет отследить ее исполнение. Дополнительно к этому существует возможность управлять выводом диагностических сообщений в командное окно.

MacroMode Debug {on|off}

Ключ включает (on) или выключает (off) состояние режима разработчика макропрограмме. Если режим разработчика включен, то при каждом новом запуске макропрограммы, она читается с диска. Если выключен, то единожды запущенная макропрограмма остается во внутреннем кэше и читается оттуда. Таким образом, если разработчик в процессе работы вносит изменения в макропрограмму, то изменения не будут выполнены (запускается предыдущий вариант макропрограммы из кэша). Но при запуске макропрограммы из кэша не тратится время на чтение с диска и скорость работы выше.

I.png Узнать текущую установку вывода диагностических сообщений и трассировки макропрограмм можно с помошью системной функции sysvar(78)


MacroMode Undo { Off [Clear] | On }

Ключ включает (On) или выключает (Off) режим откатки.

Выключение режима откатки возможно с очисткой буфера откаток (необязательный ключ Clear).


MacroMode Undo On <Name> <ObjectCreate> [<ObjectDelete>]

Включенный режим откатки позволяет ввести имя откатки (параметр <Name>), а также зарегистрировать создание объекта <ObjectCreate> и удаление объекта <ObjectDelete>. Объекты <ObjectCreate> и <ObjectDelete> обязательно должны быть объектами верхнего уровня. Этот вариант применим только в том случае, если макропрограмма создает один новый объект или заменяет один объект на другой.

<Name> = "ObjectsTree"

Имя <Name> задает строку, которая выводится в командное окно при выполнении откатки (см. рисунок)


MacroMode Undo On <Name> All

Если используется ключ All, то в откатке регистрируются все объекты. Этот вариант применим в случае, если макро создает все объекты сцены


MacroMode Undo Start

Начать накопление счетчика откаток во время выполнения макропрограммы.


MacroMode Undo Stop <Name>

Закончить накопление счетчика откаток во время выполнения макропрограммы. Имя <Name> задает строку, которая выводится в командное окно при выполнении откатки.

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

Pluso.png Не рекомендуется использовать команды включения и выключения откатки неопытными пользователям. Неверное использование этих команд может привести к потере всех несохраненных данных и фатальной ошибке в работе программы.


MacroMode Level [<Level>]

ключ устанавливает уровень выдачи сообщений <Level>. Если значение <Level> не задано, то возвращается текущий уровень выдачи сообщений

Пример 1:

// Выключить откатку без стирания буфера откаток
#UndoOnBefore MacroMode Undo Off;
// Включить откатку с регистрацией создания и удаления объектов верхнего уровня
MacroMode Undo On "Otkatka" hCreate;

Пример 2:

macromode undo off;
macro ProtoPath+"MakePan.mac" basep[1] basep[2] basep[3] xgab, ygab 12;
objident last 1 polka;
if (isvardef("polka")==16)
{
 macromode undo on "Ug_Polka.mac" polka ;
}
else
{
  macromode undo on;
}


MacroMode LockHelp <Topic>

Команда принудительно устанавливает тему справки для макропрограммы, где команда вызвана.

<Topic> - идентификатор устанавливаемой темы – целое неотрицательное число.

Если значение <Topic> = 0, то происходит снятие блокировки смены тем справки, иначе (<Topic> > 0) то устанавливается блокировка темы на все время выполнения макрокоманды. После любого выхода из макро в интерактив (нормального или аварийного), блокировка темы справки снимается.

Суть команды в том, что внутри макропрограммы каждая выполняющаяся команда имеет свой указатель (тему) справки, которая зачастую не показывает сути всей макропрограммы. Так вот команда позволит не использовать указатели (темы) каждой из команд макропрограммы, а установить одну тему на всю макропрограмму.


Макро | Создание макропрограмм | Переменные и выражения | Вызов из ZIP | Типовые параметры | Создание геом. объектов | Буфер обмена | Сценарии | Параметрические библиотеки | Геометрические характеристики | Атрибуты | Структурные объекты | Текстовые файлы | Системные параметры | Работа с файлами | Редактирование объектов | Удаление объектов | Размеры | Штриховка | Объект «Текст» | Камера | Работа с видом | Наборы параметров | Запрос информации у пользователя | Фильтры | Слои | Графы | Универсальные плоские объекты | Функции работы с системой | Функции работы с объектами сцены | Работа с динамически подключаемыми библиотеками | Функции работы с массивами | Работа со строками | Математические функции | Работа с файлами DBF dBASE IV | Унифицированная работа с базами данных | Вычисление выражений | Присвоение имени объекту | Откатка и восстановление команд | Изменение режима трассировки макропрограмм | Вызов внешних приложений и задач | Проверка условия | Проверка типа переменной | Установкв статуса вывода сообщений | Выдача системного сообщения | Выбор объектов | Версия системы | Информация о системе | Проверка принадлежности к списку | Помещение строки в буфер команд | Получение метапути | Установка курсора ожидания | Мебельные команды и функции для макропрограммирования‎