Вниз
Скачать: CL | DM;

Как организовать свяэь дочерних окон?   Найти похожие ветки 

← →
shel   (2003-01-10 03:22) [0]

Имеется MDI-приложение. Для родительской формы определены несколько разных дочерних окон(1,2). У одного дочернего окна(2) в public есть процедура(Пусть myProcedure). Вопрос: Как из другого(1) дочернего окна вызвать
процедуру myProcedure? Как я понимаю, это делается через родительское окно.
Если возможно, приведите пример. Зарание благодарен за ответ.


← →
Моджахед   (2003-01-10 03:37) [1]

а где окно дочернее создается? Там же, наверное, и переменная, в которой ссылка на доч. окно. Процедура, я так понял, в классе описана? Ну и вызовай frmsomething.myproc.


← →
shel   (2003-01-10 03:46) [2]

Я так пробывал делать, но Delphi ругается . Дочернее окно создаётся при нажатии пимпы на главной (родительской) форме


← →
Моджахед   (2003-01-10 03:48) [3]

сорри, поспешил с постом.
"Окно"(2) обязано иметь ссылку в uses на "окно"(1).

Значит, описание твоей формы №2 доступно. Ну, и вопрос только в том, как ты организуешь систему "окон". Можешь сделать глобальный менеджер окон в виде компонента или объекта, размещенный в главной MDI форме, и все запросы вести через него (очень удобно, например, через сообщения). Это все детали, связанные с логикой работы твоего приложения.


← →
shel   (2003-01-10 03:54) [4]

Если работать, как с простым модулем(в uses я всё это дело прописал), то Delphi ругается.


← →
shel   (2003-01-10 11:55) [5]

Неужели ни у кого не было таких проблем?


← →
stone ©   (2003-01-10 12:39) [6]

Какую ошибку выдает?
Оба ли окна созданы в момент вызова процедуры?


← →
Zemal ©   (2003-01-10 12:44) [7]

Да были такие проблемы почти у всех!!! Просто вопрос слишком пространный!!! Во-первых: чтобы воспользоваться методом объекта, надо иметь этот объект, а не класс... т.е. должен быть определённый экземпляр класса, метод которого ты должен вызвать. Во-вторых: это надо делать через какой-то менеджер дочерних окон, в этом может помочь объект Application, из которого можно получить список дочерних окон, найти нужный экземпляр дочернего окна и вызвать нужный метод этого экземпляра. В-третьих: всё это достаточно громоздко и требует наличия определённых знаний, так что почитай книги. Что ещё посоветовать незнаю... свою голову не приставишь, а писать за тебя эту бадягу никто небудет. Единственный выход - читай литературу.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.02 c
1-62503
Neox
2003-01-10 11:35
2003.01.20
Выполнение других задач


3-62439
Nil
2002-12-26 12:23
2003.01.20
Как передать данные из DBGrid в Excel для дальнейшей работы


14-62786
Sha
2002-12-27 13:17
2003.01.20
Навеяно


14-62785
Starik
2002-12-25 20:13
2003.01.20
TidPOP3


4-62939
Kiril45
2002-12-06 02:19
2003.01.20
Как узнать что в другом приложении нажата кнопка




   Наверх