Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.01.18;
Скачать: CL | DM;

Вниз

Плагины   Найти похожие ветки 

 
Alexx1524   (2007-12-04 14:12) [0]

Пытаюсь подключать плагины к моей программе, создавая автоматически пункты меню из Dll-ки, вот пример
Procedure TNewPlu.OnShowForm(Sender : TForm);
var pm,pmPlace:TMenuItem;

begin
 if not Assigned(Sender) then exit;
   if Sender.Name="mainfm" then begin
     pmPlace:=TMenuItem(Sender.FindComponent("n4"));
     if Assigned(pmPlace) then begin
       pm:=TMenuItem.Create(sender);
       pm.Name:="p2";
       pm.Caption:="&Проверка работы плагина Clas...";
       pm.OnClick:= PluginClick;
       pmPlace.Parent.Insert(pmPlace.MenuIndex+1,pm);
     end;
   end;
 end;
создаю список плагинов, потом запускаю для каждого плагина событие OnShowForm, пункты меню появляются, но обработчик один и тот же (те из одной dll). ставлю проверку на имя вызывающего компонента, все время одно, хотя разные пункты меню... Помогоите плиз!!!


 
de.   (2007-12-04 14:24) [1]

Перепиши TMenuItem, добави туда поле например FPlugPath и при создании элементов присваивай полю путь к плагину.!


 
de.   (2007-12-04 14:28) [2]

А в обработчике напиши чтоб плагин загружался по пути FPlugPath. Помоему поможет. :-)


 
de.   (2007-12-04 14:46) [3]

Ну что? Еще не помогло?


 
DiamondShark ©   (2007-12-05 13:36) [4]


> Alexx1524   (04.12.07 14:12)  

Кто такой TNewPlu? Где он описан? Из какого места вызывается OnShowForm?

Этот огрызок кода ни о чём не говорит.


 
Sairex ©   (2008-03-26 17:25) [5]

я лично делаю следующим образом при старте программы, инициализирую каждый плагин, затем с каждого плагина получаю менюшку, при этом  Tag менюшки соотвествует индексу плагина в массиве, и при выборе менюшки, выбираю необходимую для нее обрабатывающую процедуру.



Страницы: 1 вся ветка

Текущий архив: 2009.01.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.015 c
2-1228481314
snake-as
2008-12-05 15:48
2009.01.18
Не сработало FindNext


15-1227203696
Andy BitOff
2008-11-20 20:54
2009.01.18
Опять Виста...


2-1228224496
programmer90
2008-12-02 16:28
2009.01.18
Работа со char массивом


15-1227178236
axis_of_evil
2008-11-20 13:50
2009.01.18
я отстал от технической составляющей жизни


2-1228244925
Serg
2008-12-02 22:08
2009.01.18
Статус интернет