Цитата(Altair @ 13.04.2006 23:05)

Как именно ?
Почему не стоит ?
Если у тебя есть Ядро, то оно пуп системы и системные вызовы лцчше осуществлять через него.
Вызовы в обход ядра "череваты боком".
Цитата(Altair @ 13.04.2006 23:05)

Да, так вот вопрос чисто технический - могу я загрузив модуль один раз в ядре, и передав ему управление, в нем использовать функции уже подключенных ?
Если да то каков механизм ?
Можешь.
Но сначала нужно договориться об интерфейсах. Вызывающий плагин должен быть осведомлён об интерфейсе вызываемого.
Думаю нужно создавать 2 базовых интерфейса:
интерфейс ядра. через него будут происходить все вызовы функция ядра из плагина.
Код
IKernel = interface
//то, что дозволяется плагину производить с ядром
// кроме того список плагинов
end;
почему нельзя производить вызовы в обход ядра: к примеру ты произвёл некоторые изменения в ядре или изменил состав системных ДЛЛ. всё! придётся плагин исправлять и перекомпилировать - это есть нехорошо. а с интерфейсом просто - если ты его расширил, то это никак не скажется на уже готовом плагине.
интерфейс плагина. при загрузке плагина ядро получает этот интерфейс и производит инициализацию плагина, сообщая ему свой интерфейс.
Код
IPlugin = interface
procedure Initialize(Kernel: IKernel);
end;
взаимодействие плагинов:
если вызывающий плагин осведомлён об интерфейсе вызываемого плагина (он может быть шире чем то, что известно ядру) то всё круто - вызываем методы напрямую.
этому есьт альтернатива - посылка/приём плагинами команд - символьных или числовых констант (на этом основано взаимодействие с Winamp). это должно быть отражено в IPlugin соответствующими методами.
З.Ы. хм. органайзер... кажется я сильно разошёлся ;-)