Форум: "Основная";
Текущий архив: 2009.01.18;
Скачать: [xml.tar.bz2];
ВнизПлагины Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c