logoSmallWeb - это программа, с помощью которой можно смотреть информацию в интернете.

Технология плагинов











SmallWeb поддерживает технологию плагинов. Это позволяет сторонним разработчикам подключать свои модули к программе по средством специального интерфейса PluginInterface. Плагины должны быть выполненны в виде динамической библиотеки и храниться в директории программы в папке Plugins. SmallWeb при открытии сканирует эту директорию на наличие DLL файлов и, если таковые есть, ищет в них процедуру инициализации плагина procedure InitPlugin(PlugClass:TPluginInterface); Так же должен быть описан класс TPluginInterface:

TPluginInterface = class
  public
   function GetApplication:TApplication;virtual;stdcall;abstract;
   procedure AddMenuItem(MenuItemCapt:string;
              Proc:TNotifyEvent);virtual;stdcall;abstract;
   procedure WBNavigate(Adress:string);virtual;stdcall;abstract;

Методы, описанные в этом классе, позволяют плагину узнать информацию о приложении (GetApplication:TApplication;), создать пункт меню программы SmallWeb в главном меню Plug-ins (AddMenuItem(MenuItemCapt:string;Proc:TNotifyEvent);) и перейти по указанному адрессу (WBNavigate(Adress:string);).

Так же в процедуре инициализации плагина должна быть инициализирована переменная DemoInterface, описанная в модуля вместе с классом интерфейса плагина:


 var
  DemoInterface:TPluginInterface;

Ниже приведён пример процедуры инициализации плагина:


procedure InitPlugin(PlugClass:TPluginInterface);
begin
 DemoInterface:=PlugClass;
 Form1:=TForm1.Create(nil);
 PlugClass.AddMenuItem('MyMenu', Form1.MyProcedure);
end;

exports

   InitPlugin;