![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как организовать свяэь дочерних окон? [D6, Win2k, WinXP]
shel © (2003-01-10 03:22:00)Имеется MDI-приложение. Для родительской формы определены несколько разных дочерних окон(1,2). У одного дочернего окна(2) в public есть процедура(Пусть myProcedure). Вопрос: Как из другого(1) дочернего окна вызвать
процедуру myProcedure? Как я понимаю, это делается через родительское окно.
Если возможно, приведите пример. Зарание благодарен за ответ.
Zemal (2003-01-10 12:44:00) [1]Да были такие проблемы почти у всех!!! Просто вопрос слишком пространный!!! Во-первых: чтобы воспользоваться методом объекта, надо иметь этот объект, а не класс... т.е. должен быть определённый экземпляр класса, метод которого ты должен вызвать. Во-вторых: это надо делать через какой-то менеджер дочерних окон, в этом может помочь объект Application, из которого можно получить список дочерних окон, найти нужный экземпляр дочернего окна и вызвать нужный метод этого экземпляра. В-третьих: всё это достаточно громоздко и требует наличия определённых знаний, так что почитай книги. Что ещё посоветовать незнаю... свою голову не приставишь, а писать за тебя эту бадягу никто небудет. Единственный выход - читай литературу.
stone (2003-01-10 12:39:00) [2]Какую ошибку выдает?
Оба ли окна созданы в момент вызова процедуры?
shel (2003-01-10 11:55:00) [3]Неужели ни у кого не было таких проблем?
shel (2003-01-10 03:54:00) [4]Если работать, как с простым модулем(в uses я всё это дело прописал), то Delphi ругается.
Моджахед (2003-01-10 03:48:00) [5]сорри, поспешил с постом.
"Окно"(2) обязано иметь ссылку в uses на "окно"(1).
Значит, описание твоей формы №2 доступно. Ну, и вопрос только в том, как ты организуешь систему "окон". Можешь сделать глобальный менеджер окон в виде компонента или объекта, размещенный в главной MDI форме, и все запросы вести через него (очень удобно, например, через сообщения). Это все детали, связанные с логикой работы твоего приложения.
shel (2003-01-10 03:46:00) [6]Я так пробывал делать, но Delphi ругается . Дочернее окно создаётся при нажатии пимпы на главной (родительской) форме
Моджахед (2003-01-10 03:37:00) [7]а где окно дочернее создается? Там же, наверное, и переменная, в которой ссылка на доч. окно. Процедура, я так понял, в классе описана? Ну и вызовай frmsomething.myproc.