Замечания по макроязыку

В алгоритмах на макроязыке можно использовать не только функции, написанные на макроязыке, но и функции, написанные на других языках (С, С++ и т.п.), при этом они должны быть перед этим специальным образом зарегистрированы. Регистрация функций возможна только при сборке программы, таким образом регистрация собственных функций невозможна. Список зарегистрированных в настоящий момент функций приведен в приложении 1.

Не смотря на то, что макроязык в настоящее время не поддерживает понятия класса можно использовать классы (а точнее интерфейсы), написанные на языке С++, при условии, что они зарегистрированы специальным образом при сборке программы. Список зарегистрированных классов приведен также в приложении 1. Кроме зарегистрированных в программе классов можно использовать и другие объекты – зарегистрированные в операционной системе COM-объекты, поддерживающие диспетчерский интерфейс (к таким объектам, например, относится документ MS Word и пример его использования можно увидеть в модуле sluice.s). Используются классы следующим образом: сначала создается переменная требуемого класса, затем данный объект инициализируется и только потом используется.

var VarName = CreateObject(“NameClass”);

VarName.InitialFuntion(….);

VarName.InitialFuntion(….);

где NameClass – имя зарегистрированного класса, InitialFunction – функция для инициализации (у одного и того же класса их может быть несколько, а может вообще не быть), OtherFunction – функция класса, выполняющая некоторую необходимую работу (собственно ради чего и заводилась переменная данного класса).