Герметизация
Герметизация производилась независимо, в результате возникло две схожие по результатам, сборки с герметизированным BlackBox.
Ниже расположен список измененных модулей и ресурсных файлов.
System
множественные команды из HostCmds
pk разделил на две части, все меню с хост-командами вынес в
x86win32/Rsrc/Menus
ik заменил текстовые константы на название нового меню.
System/Mod/Config
строковые константы из HostTextConv, HostBitmaps
импорт OleData
pk,
ik разделили
Config
на две части
System/Mod/XYplane
импорт HostPorts
незначимый модуль
System/Mod/Containers
строковая константа HostMenus
-
ik «HostMenus.PrimaryVerb» → «Menus.PrimaryVerb»
Std
Std/Mod/Log
импорт HostDialog
pk убрал зависимость от
HostDialog
, так как константа
logAlerts
всегда
TRUE, и до вызова
HostDialog
не доходит.
ik прямое обращение к
HostDialog.ShowParamMsg
заменено на передачу в
Dialog.Call
вычисленного имени хостового
Dialog
, вычисление производится на основании данных из модуля
Platform
+
x86win32hostPlatform
Std/Mod/TabViews
строковая константа HostTabFrames
pk,
ik убрал символьный вызов, установка табов производится в x86win32Config
Std/Mod/Cmds
запрос к строковому ресурсу #Host
ik решение через
Platform.MapString
pk не решено, так как ситуация отсутствия команды обрабатывается в коде.
Std/Mod/Coder
строковая константа HostTextConv
-
ik Имя хоста определяется через
Platform.GetPrefix
импорт HostMenus
pk перенёс модуль в подсистему
x86win32
, по всем признакам он неотделим от хоста. Зачистил хвосты
StdMenuTool
в ресурсах и меню, в документации не зачищал.
ik использует новый модуль
Menus
Std/Mod/Tables
импорт HostPorts ради кодов курсора
pk убрал хост-зависимость, заменил курсор на один из стандартных
Ports.graphicsCursor
ik Константа
HostPorts.resizeHCursor
→
resizeHCursor
Text
Dev
Dev/Mod/Packer
импорт HostFiles, HostPackedFiles, строковые константы HostFiles
pk,
ik перенесён в подсистему
Packed
.
Dev/Mod/ComInterfaceGen
Dev/Mod/ComDebug
cтроковая константа HostMechanisms
pk не решено, так как отладчик нужен только для компиляции ядра, и не участвует в работе
ik имя хоста определяется через
Platform.GetPrefix
Dev/Mod/HeapSpy
строковая константа HostWindows
-
ik имя хоста через
Platform.GetPrefix
, но остался
winAnchor
Dev/Mod/Analyzer
импорт HostRegistry
pk,
ik заменил HostRegistry на StdRegistry
Dev/Rsrc/Strings
непонятные константы с перечислением модулей хоста
pk убрал упоминание хост-модулей, так как они не существуют
ik добавлена обработка в
DevDependencies.GetImplicitDependencies
Dev/Mod/Browser
импорт HostRegistry
pk,
ik заменил HostRegistry на StdRegistry
Dev/Mod/Dependencies
импорт HostMenus, HostPorts
pk вызов
HostMenus
заменил на
StdMenus
, а вот код правой кнопки
HostPorts.right
пришлось пока
захардкодить
ik HostPorts.right
→
CONST
hostPortsRight
,
HostMenus.PopupMenu
→
Menus.PopupMenu
Dev/Mod/Cmds
импорт HostMenus
pk разделил процедуру
FlushResources
, теперь часть в
HostMenus
вызывается через меню.
-
Dev/Mod/Debug
Com
команда HostMenus.Collect
игнорируем
Obx
Obx/Mod/Bitmap
Ole
Ole/Mod/Client
импорт HostPorts, HostWindows, HostMenus
pk перенёс модуль в
x86win32
, поправил импорты
-
Ole/Mod/Server
импорт HostPorts, HostWindows
pk перенёс модуль в
x86win32
, поправил импорты
-
Ole/Mod/Data
Импорт HostPorts, строковая константа HostTextConv
pk перенёс модуль в
x86win32
, поправил импорты
-
Host
x86win32/Rsrc/Strings
остатки от старого хоста
pk,
ik заменил
Host
на
x86win32
Исправлены формы Host/Rsrc/Prefs
, Host/Rsrc/Printing
, Host/Rsrc/Imptype
, Host/Rsrc/Setup
.