Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
blackbox:faq:startup [2025/07/19 00:01] iadenisov |
blackbox:faq:startup [2025/07/19 00:14] (текущий) comdiv |
====== Как добавить опциональные команды при запуске среды? ====== | ====== Как добавить опциональные команды при запуске среды? ====== |
| |
Процесс загрузки [[:blackbox|системы Блэкбокс]] на третьем шаге запуска пробует вызвать команду Startup.Setup. Обычно модуль Startup не существует. Он может быть использован для установки некоторых служб до того, как откроется главное окно и загрузятся текстовая и другие подсистемы. В том числе в этом модуле возможно запрограммировать отложенный вызов команд для открытия документов и т.п. после запуска среды. Однако важно, что этот модуль может импортировать только самые базовые модули (из подсистемы System). Импорт модулей из других подсистем может нарушить порядок запуска среды. | Процесс загрузки [[:blackbox|системы Блэкбокс]] на третьем шаге запуска пробует вызвать команду Startup.Setup. Обычно модуль Startup не существует. Он может быть использован для установки некоторых служб до того, как откроется главное окно и загрузятся текстовая и другие подсистемы. В том числе в этом модуле возможно запрограммировать отложенный вызов команд для открытия документов и т.п. после запуска среды. Однако важно, что этот модуль может импортировать только самые базовые модули (из подсистемы System). Импорт модулей из других подсистем может нарушить порядок запуска среды. Если ваши эксперименты привели к тому, что среда перестала корректно запускаться, достаточно удалить файл ''System/Code/Startup.ocf'' |
| |
<code> | <code> |
MODULE Startup; | MODULE Startup; |
| |
IMPORT Log, Dialog, Services; | IMPORT Kernel, Log, Dialog, Services; |
| |
TYPE | TYPE |
| |
PROCEDURE (a: Action) Do; | PROCEDURE (a: Action) Do; |
VAR res: INTEGER; | VAR res: INTEGER; |
BEGIN | BEGIN |
Dialog.Call("StdCmds.OpenDoc('System/Mod/Startup.odc')", "", res) | Dialog.Call("StdCmds.OpenDoc('System/Mod/Startup.odc')", "", res) |
VAR a: Action; | VAR a: Action; |
BEGIN | BEGIN |
| Dialog.appName := "BlackBox / my personal edition"; |
NEW(a); | NEW(a); |
Services.DoLater(a, Services.Ticks() + Services.resolution) | Services.DoLater(a, Services.now) |
END Setup; | END Setup; |
| |
END Startup. | END Startup. |
</code> | </code> |