Герметизация
Герметизация производилась независимо, в результате возникло две схожие по результатам, сборки с герметизированным 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.