Показать сообщение отдельно
  #1  
Старый 21.05.2006, 17:50
Аватар для feedlock
feedlock feedlock вне форума
Прохожий
 
Регистрация: 21.05.2006
Сообщения: 1
Репутация: 10
Печаль программирование Mdi форм в Dll

пытался создать 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)
Ответить с цитированием