Главная страница
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.48 MB
Время: 0.012 c
1-1206197158
nstur
2008-03-22 17:45
2009.01.18
TIdFTP - зависает при закачке


2-1228195255
Sw
2008-12-02 08:20
2009.01.18
Тип данных


15-1227246774
Math
2008-11-21 08:52
2009.01.18
Более точные вещественные числа чем Extended?


2-1228396134
aglar
2008-12-04 16:08
2009.01.18
Как получить значения subitems в listview


4-1204376662
Pashka
2008-03-01 16:04
2009.01.18
Как определить область памяти процесса