пытался создать dll с mdi формой.
ничего не вышло.
создаю класс в программе и передаю в длл через параметр exports процедуры: tiplugindemo;
Код:
TIPluginDemo = class
public
function GetApplication: TApplication; virtual; stdcall;
procedure AddMenuItem(MenuItemCapt: String; Proc: TNotifyEvent); virtual; stdcall;
procedure AddItem(Item: String); virtual; stdcall;
end;
в dll вызываю :
Код:
...
TPluginInterface = class
public
function GetApplication: TApplication; virtual; stdcall; abstract;
procedure AddMenuItem(MenuItemCapt: String; Proc: TNotifyEvent); virtual; stdcall; abstract;
procedure AddItem(Item: String); virtual; stdcall; abstract;
end;
...
procedure InitPlugin(PlugClass: TPluginInterface);
begin
DemoInterface:=PlugClass;
Form1:=TForm1.Create(nil);
PlugClass.AddMenuItem('Ïîêàçàòü Plug-in',Form1.ShowMe);
PlugClass.AddMenuItem('Ïðîñòîé âûçîâ',Form1.Button1Click);
PlugClass.AddMenuItem('Äîáàâèòü ïóíêò',Form1.Button2Click);
end;
...
вызов простой формы работает, хотя при вызове mdi уже ругается (гл форма тож mdi при вызове).
Также присваивал dll.application свойство приложения application;
также. (в основном ошибка runtime 219...)
ps(writing from feedlock,rancher,servantos,avat0n,http_Apache)