Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Программа и интерфейс
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 04.11.2009, 22:04
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
Вопрос DLL MDIChild и MDIForm

Всем привет. У мя появилось 2 вопросика - пишу в одной теме т.к. тематика общая:
1. Как мне можно при помощи функций SendMessage или PostMessage выполнить процедуру находящеюся в главной MDI-форме из MDIChild-а находящегося в DLL-библиотеке ??? (раньше не приходилось сталкиваться)
2. У меня на главной форме используются AlphaSkins. А при вызове дочернего окна из библиотеки окно получается нескинированным ((( .... как это можно исправить ???
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #2  
Старый 06.11.2009, 19:05
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Цитата:
Сообщение от Yurk@
...
1. Как мне можно при помощи функций SendMessage или PostMessage выполнить процедуру находящеюся в главной MDI-форме из MDIChild-а находящегося в DLL-библиотеке ??? (раньше не приходилось сталкиваться)...

решил вопрос таким путём:
в главной форме для компонента ApplicationEvents:
Код:
procedure TfMain.AppMessage(var Msg: tagMSG; var Handled: Boolean);
begin
if Msg.message = BM_CLICK
	then
   begin
   DonePlugin;
	FreeLibrary(FLib);
   end;
end;

в DLL в событии OnDestroy для моей формы:
Код:
procedure TfSett.FormDestroy(Sender: TObject);
begin
PostMessage(FindWindow('TfMain',nil),BM_CLICK,0,0);
end;

Может у кого-то есть лучшие варианты ???

Цитата:
Сообщение от Yurk@
... У меня на главной форме используются AlphaSkins. А при вызове дочернего окна из библиотеки окно получается .... как это можно исправить ???
В свойствах проекта ставим галку "Build with runtime packages". Но тогда рядом с exe и dll еще должны лежать соответствующие bpl.
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз

Последний раз редактировалось Yurk@, 06.11.2009 в 19:14.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 17:49.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025