Секреты компилятора

Список компиляции

Хотя процедуры DevCompiler.CompileModuleList и DevCompiler.CompileThis и упомянуты в документации, но особенности построения списка модулей не отражены. В то же время в списке после имени модуля можно указывать опции компилятора и значения селекторов:

	имяМодуля[опцииКомпилятора]["("имяСелектора":"значениеСелектора{","имяСелектора":"значениеСелектора}")"]

Имя и значение селектора можно брать в кавычки (если они содержат пробелы, то кавычки обязательны)

Маркер конца списка компиляции

Процедура DevCompiler.CompileThis принимает в качестве параметра список модулей, который следует в тексте непосредственно за командой. Для того чтобы отделить окончание списка от последующего текста, служит специальный маркер конца списка1). Этот маркер имеет вид маленького чёрного треугольника.

Для тех, кто часто работает с командой DevCompiler.CompileThis имеет смысл добавить в меню Tools опцию Insert End Commander, которая позволит быстро вставлять в текст маркер конца списка компиляции. Для этого необходимо проделать следующие шаги2):

  1. В главном окне Блэкбокс выберите меню Info→Menus. В открывшемся окне щёлкните по ссылке Dev/Rsrc/Menus.
  2. В открывшемся документе DevMenus найдите строку, которая соответствует команде Tools→Insert Commander, и сразу после этой строки вставьте такую строку:
    	"Insert &End Commander"	""	"DevCommanders.DepositEnd; StdCmds.PasteView"	"StdCmds.PasteViewGuard"
  3. Сохраните документ. Для того чтобы изменения вступили в силу, необходимо дать команду Info→Update Menus.

Компоновка приложений

Подробнее о компоновке приложений с помощью DevLinker см. здесь: Как создать программу *.exe.

Автор раздела «Маркер конца списка компиляции»: Лоскутов И.В.


Автор*: Горячев И.Н. Правки: Ермаков. И.Е.

1) Более точно: этот маркер указывает окончание списка параметров команды, рассчитанной на активацию коммандером, и читающей свои параметры из текста (см. документацию модуля DevCommanders).
В BlackBox много таких команд; в основном они предназначены для разработки.
Также вместо этого маркера часто можно использовать символ «~» или любой визуальный объект, например, ещё один коммандер.
2) Подробно см. документацию среды:
Содержание → Руководства пользователя → Среда → 8 Настройка меню
Help Context → User Manuals → Framework → 8 Menu Configuration
© 2005-2019 OberonCore и коллектив авторов.