> -- Info21 писал(а):
> В коды не смотрел, говорю из общих соображений, может, что упустил.Для полноты картины, как смотревший в коды, скажу вот ещё что.

По поводу фундаментальности замечание верное. Сама по себе фундаментальная операция выгрузки реализована в Kernel: Kernel.UnloadMod.
В нашем случае речь идёт о более прикладной реализации, которая
- [пункт добавлен поздней правкой] выгружает модуль не по ссылке (Kernel.Module), а по имени (ARRAY OF CHAR);
- выводит в Log сообщения в случае ошибки. При этом используются текстовые ресурсы подсистемы Dev: Dialog.ShowParamStatus("#Dev:Unloading", name, "", "");
- вызывает Controls.Relink.

Данная реализация, во-первых, активно используется в подсистеме Dev (в трёх местах) и только в ней, и, во-вторых, бывает нужна именно в таком виде извне (я дополнял подсистему i21edu возможностью сделать CompileAndReload для русскоязычных модулей). Всё указывает на то, что надо просто сделать одну опубликованную процедуру в пределах подсистемы Dev, которую бы все могли использовать.

Понятное дело, что при особых потребностях (не нужен вывод в Log или вызов Relink) требуется собственная реализация. В этом случае её можно делать без подсистемы Dev, средствами Kernel.