Главная страница
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.017 c
15-1227153907
Slider007
2008-11-20 07:05
2009.01.18
С днем рождения ! 20 ноября 2008 четверг


2-1228755197
cruiser
2008-12-08 19:53
2009.01.18
чтение Unicode символов в caption компонентов


2-1228465214
1234567
2008-12-05 11:20
2009.01.18
MessageBox


15-1227097144
Труп Васи Доброго
2008-11-19 15:19
2009.01.18
Тип данных


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