Секреты компилятора
Список компиляции
Хотя процедуры DevCompiler.CompileModuleList и DevCompiler.CompileThis и упомянуты в документации, но особенности построения списка модулей не отражены. В то же время в списке после имени модуля можно указывать опции компилятора и значения селекторов:
имяМодуля[опцииКомпилятора]["("имяСелектора":"значениеСелектора{","имяСелектора":"значениеСелектора}")"]
Имя и значение селектора можно брать в кавычки (если они содержат пробелы, то кавычки обязательны)
Маркер конца списка компиляции
Процедура DevCompiler.CompileThis принимает в качестве параметра список модулей, который следует в тексте непосредственно за командой. Для того чтобы отделить окончание списка от последующего текста, служит специальный маркер конца списка1). Этот маркер имеет вид маленького чёрного треугольника.
Для тех, кто часто работает с командой DevCompiler.CompileThis имеет смысл добавить в меню Tools опцию Insert End Commander, которая позволит быстро вставлять в текст маркер конца списка компиляции. Для этого необходимо проделать следующие шаги2):
- В главном окне Блэкбокс выберите меню Info→Menus. В открывшемся окне щёлкните по ссылке Dev/Rsrc/Menus.
- В открывшемся документе DevMenus найдите строку, которая соответствует команде Tools→Insert Commander, и сразу после этой строки вставьте такую строку:
"Insert &End Commander" "" "DevCommanders.DepositEnd; StdCmds.PasteView" "StdCmds.PasteViewGuard"
- Сохраните документ. Для того чтобы изменения вступили в силу, необходимо дать команду Info→Update Menus.
Компоновка приложений
Подробнее о компоновке приложений с помощью DevLinker см. здесь: Как создать программу *.exe.
Автор раздела «Маркер конца списка компиляции»: Лоскутов И.В.
Автор*: Горячев И.Н. Правки: Ермаков. И.Е.
В BlackBox много таких команд; в основном они предназначены для разработки.
Также вместо этого маркера часто можно использовать символ «~» или любой визуальный объект, например, ещё один коммандер.
Содержание → Руководства пользователя → Среда → 8 Настройка меню
Help Context → User Manuals → Framework → 8 Menu Configuration