Показать сообщение отдельно
  #7  
Старый 02.12.2009, 16:09
PG81 PG81 вне форума
Прохожий
 
Регистрация: 15.10.2009
Сообщения: 31
Репутация: 10
По умолчанию

сделал таким образом (тестовый вариант)
PHP код:
procedure TfrmMDI_dll.FormActivate(SenderTObject);
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)табуляция на форме из плагина не работает
Вот как эти вопросы решить?
Ответить с цитированием