Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.01 c
15-1226915581
L_W
2008-11-17 12:53
2009.01.18
Linux в сети Windows


2-1228492011
dbgrid
2008-12-05 18:46
2009.01.18
Как определить на какой строке грида нах-ся курсор?


1-1206197158
nstur
2008-03-22 17:45
2009.01.18
TIdFTP - зависает при закачке


2-1228638477
denissoft
2008-12-07 11:27
2009.01.18
Комонент для отображения дерева?


15-1227442297
Slider007
2008-11-23 15:11
2009.01.18
С днем рождения ! 23 ноября 2008 воскресенье




   Наверх