powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / MDIChild форма в BPL (DLL) и Главная форма
11 сообщений из 11, страница 1 из 1
MDIChild форма в BPL (DLL) и Главная форма
    #32123807
Фотография distinger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать так, чтоб при нажатии кнопки в MDIChild форме, которая берется из BPL поменялся цвет Главной формы, или что-нить вообще сделать, процедуру например запустить? Короче, как из BPL формы получить доступ к свойствам главной формы и всем компонентам которые на ней находяться (и наоборот).
Спасибо.
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123814
Фотография distinger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только (если возможно) надо это сделать не пользуясь сообщениями;
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123891
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большенство компонентов наследуются от TWinControl, следовательно грубо говоря это окно. И к нему можно применить API.
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123912
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Реализуй в главной форме какой-нибудь свой интерфейс, а потом из дочерней формы получи ссылку не него через 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
MDIChild форма в BPL (DLL) и Главная форма
    #32123927
LG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 maloi_alex
В данном случае COM = Messages.
А просили без них.
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123948
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересная задачка. Надо подумать..........
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123951
Фотография eNose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[не активирован]
[не одобрен]
С MDI не работал, а там нет Application.MainForm?
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123953
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А через GetXXXProp и SetXXXProp не подойдет ?
...
Рейтинг: 0 / 0
MDIChild форма в BPL (DLL) и Главная форма
    #32123975
Фотография distinger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем спасибо.
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
MDIChild форма в BPL (DLL) и Главная форма
    #32123997
Фотография maloi_alex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ISomeInteface как определять ведь MDI форма в BPL и не подозревает о сущесвовании главной или просто как interfece.


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

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

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


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