Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDIChild форма в BPL (DLL) и Главная форма / 11 сообщений из 11, страница 1 из 1
20.03.2003, 14:33
    #32123807
distinger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Как сделать так, чтоб при нажатии кнопки в MDIChild форме, которая берется из BPL поменялся цвет Главной формы, или что-нить вообще сделать, процедуру например запустить? Короче, как из BPL формы получить доступ к свойствам главной формы и всем компонентам которые на ней находяться (и наоборот).
Спасибо.
...
Рейтинг: 0 / 0
20.03.2003, 14:36
    #32123814
distinger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Только (если возможно) надо это сделать не пользуясь сообщениями;
...
Рейтинг: 0 / 0
20.03.2003, 15:26
    #32123891
LG
LG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Большенство компонентов наследуются от TWinControl, следовательно грубо говоря это окно. И к нему можно применить API.
...
Рейтинг: 0 / 0
20.03.2003, 15:37
    #32123912
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Реализуй в главной форме какой-нибудь свой интерфейс, а потом из дочерней формы получи ссылку не него через QueryInterface

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Примерно так:

// В главной форме
ISomeInteface = interface
[....GUID.....]
  procedure  MyProcedure(param1: variant); stdcall;
end;

TMainForm = class(TForm, ISomeInterface)
      .....
  procedure  MyProcedure(param1: variant); stdcall;
end;

//В дочерней форме
var Intf: ISomeInteface 

Application.MainForm.QueryInterface(IID_ISomeInteface, Intf);
Intf.MyProcedure('test' )
...
Рейтинг: 0 / 0
20.03.2003, 15:42
    #32123927
LG
LG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
2 maloi_alex
В данном случае COM = Messages.
А просили без них.
...
Рейтинг: 0 / 0
20.03.2003, 15:57
    #32123948
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Интересная задачка. Надо подумать..........
...
Рейтинг: 0 / 0
20.03.2003, 16:03
    #32123951
eNose
Участник
[не активирован]
[не одобрен]
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
С MDI не работал, а там нет Application.MainForm?
...
Рейтинг: 0 / 0
20.03.2003, 16:04
    #32123953
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
А через GetXXXProp и SetXXXProp не подойдет ?
...
Рейтинг: 0 / 0
20.03.2003, 16:19
    #32123975
distinger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
Всем спасибо.
2 maloi_alex

RE: //В дочерней форме
var Intf: ISomeInteface

Application.MainForm.QueryInterface(IID_ISomeInteface, Intf);
Intf.MyProcedure('test' )


ISomeInteface как определять ведь MDI форма в BPL и не подозревает о сущесвовании главной или просто как interfece .
и еще Delphi на Application.MainForm.QueryInterface ругается, говорит нет такого.

Кстати в BPL форме повесил на кнопку ShowMessage('Help'); и не работает
как с этим бороться?
...
Рейтинг: 0 / 0
20.03.2003, 16:39
    #32123997
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
ISomeInteface как определять ведь MDI форма в BPL и не подозревает о сущесвовании главной или просто как interfece.


Просто скопируй объявление этого интерфейса в модуль дочерней формы.

На счет второго я тебе сказать ничего не могу, потому-что никогда не работал с BPL.
...
Рейтинг: 0 / 0
20.03.2003, 17:09
    #32124033
maloi_alex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MDIChild форма в BPL (DLL) и Главная форма
и еще Delphi на Application.MainForm.QueryInterface ругается, говорит нет такого

Нет какого чего Application, MainForm, или просто ругается что интерфейс не найден ?
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDIChild форма в BPL (DLL) и Главная форма / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]