Написал прототип компонента для вызова процедур посредством динамической загрузки модулей - в некотором роде аналог привычных многим исполняемых файлов C/C++, у которых есть процедура main с параметрами командной строкиargc, argv.

Это своего рода аналог майкрософтовскогоRunDll32, который умеет вызывать процедуры из библиотек. Для вызова процедур не требуется наличие BlackBox, нужен лишь загрузчик этих модулей. А далее за работу отвечает загруженный компонент, как типичная исполняемая программа.

В исполняемом модуле (например, TestExeModule) мы объявляем для экспорта процедуру main, в которую извне будут передаваться аргументы для программы.

В состав загрузчика входит компонент, скомпонованный в библиотекуbbldr[.dll/.so]. Для его работы необходима подсистемаSystem(подсистема Host уже скомпонована внутри библиотеки) и подсистемы для вызова исполняемого модуля (допустим, TestExeModule), то есть файлы .ocf и .osf.

## Код:
```
DEFINITION LibsModLoader ["bbldr"];

   IMPORT Dynamics;

   TYPE
      TLoaderError = POINTER TO RECORD 
         n-: INTEGER;
         msg-, par0-, par1-: Dynamics.String
      END;

   PROCEDURE GetLoaderError (OUT e: TLoaderError);
   PROCEDURE InitLoaderError (p: TLoaderError);
   PROCEDURE Run (_module, _proc: Dynamics.String; argc: INTEGER; argv: Dynamics.ArgList);

END LibsModLoader.
```


Эту библиотеку подгружает вспомогательная программа, которая принимает параметры командной строки и передаёт их исполняемому модулю.

В командной строке запуск производится командой:
## Код:
```
loader_program <Module_Name> <Procedure_Name> [arguments]
```

На данный момент вспомогательная программа написана на Free Pascal (FPC). Планирую написать её на Обероне-2 посредством какого-нибудь из межплатформных компиляторов.
Здесь нужны ваши советы насчёт выбора. Требование: создание исполняемых файлов для платформы x86, OS Windows, Linux. Взять ли XDS или есть варианты лучше?
Текущим ограничением в запуске модулей является поддержка одной платформы x86, ОС Windows (NT/2000/XP) с форматами EXE/DLL и Linux с форматом библиотеки so (открытой поддержки исполняемых ELF пока нет). Считаю, что интеграция КП-модулей в родные ОС важна. Иначе общего признания не добиться.

Я вижу данный инстумент как частичную замену среды BlackBox для динамического запуска модулей.
В итоге хотелось бы иметь компактный и расширяемый framework, подобный .NET, на основе Компонентного Паскаля с набором подсистем универсального назначения, включая работу с БД, сетью и пользовательским интерфейсом (GUI/TUI). Также хотелось бы добиться распространения на разных аппаратных платформах, и, возможно, с упором на встраиваемые системы...

Каковы, на ваш взгляд, перспективы такого средства в Linux? В Windows? Вообще?