сделал таким образом (тестовый вариант)
PHP код:
procedure TfrmMDI_dll.FormActivate(Sender: TObject);
var MainForm:IMainForm;//интерфейс главной формы
btn:tbutton;
begin
if not application.MainForm.GetInterface(IMainForm,MainForm)then exit;
MainForm.setdsc(dsc);//в этой процедуре в главной форме на DBNav вешается источник данных TDataSource
btn:=MainForm.getbtn;//функция главной формы возвращает ссылку на кнопку
if not assigned(btn)then exit;
btn.OnClick:=Button1Click;//вешаем на нее метод из плагина
btn.Enabled:=true;
end;
GLAZZ как такой вариант оценишь?
хотел сделать на OnDeactivate чтобы btn.Enabled:=false , но он как-то срабатывает не понятно когда ему вздумается, особенно если есть дочерние локальные формы не из плагинов.
Тут еще нарисовалось парочка проблем
1)не работают свойства MDIChildCount, и ActiveMDIChild.
MDIChildCount=только количество локальных дочерних форм
ActiveMDIChild=nil или ссылка на локальные дочерние формы
если передавать в плагин screen то ситуация немного меняется
MDIChildCount отображает правильно, то тогда выдается сообщение об ошибке "cannot assign Tfont to a tfont" при показе подсказок
а ActiveMDIChild по прежнему не выдает форму из плагина
screnn не передаю и веду отдельный свой список форм запущеных из плагина и там уже среди них искать активные
2)табуляция на форме из плагина не работает
Вот как эти вопросы решить?