На данной странице находится перечень основных изменений системы Блэкбокс версии 2.0 от версии 1.7.2, а также некоторые рекомендации по адаптации программных кодов под новую версию.
Services.InsistentAction
— это подтип Services.Action
, который не блокируется при зажатии кнопок мыши.
Services.SafeAction
— это удобная высокоуровневая обёртка над Kernel.Try
. Возможно выполнить код, и узнать после, упал он или нет, в процессе выполнения. При этом работа каркаса не будет повреждена.
Старое поведение возможно вернуть, установив константу StdCmds.clearSeqOnSave
в TRUE
.
Кроме переменной окружения USE, теперь возможно использовать дополнительный промежуточный каталог CUSTOM.
Таким образом существует три каталога: STANDARD, CUSTOM и USE.
Возможно получить их локаторы при обращении к Files, соответственно:
loc := Files.dir.This("STANDARD:"); loc := Files.dir.This("CUSTOM:"); loc := Files.dir.This("");
StdLibrarian
— это новый инструмент для управления расположением исходников и артефактов компиляции. Библиотекарь определяет также правила разделения имени модуля на подсистему и имя файла модуля, а также определяет расширения файлов в системе для исходников и артефактов (кодовый, символьных файлов).
Для получения пути от локатора теперь есть платформенно-независимая команда. Теперь не требуется импортировать для этой задачи платформенную реализацию модуля Files.
Dialog.GetLocPath(loc: Files.Locator; OUT path: ARRAY OF CHAR);
Вместо команды HostCmds.Close
используйте StdCmds.CloseTopDialog
Вместо команды Kernel.MakeFileName
используйте Files.dir.GetFileName
Вместо команды Kernel.SplitName
используйте StdLibrarian.SplitName
StdDialog.GetSubLoc(n, "Mod", loc, fname);
стоит заменять на
StdLibrarian.GetSourceSpec(n, loc, fname, ftype); Files.dir.GetFileName(fname, ftype, fname);