Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие формы MDIChild программным методом [D6, Win95/98]


Jaxtor ©   (2002-04-12 11:21:00) 

Подскажите, пожалуйста, как программно закрыть форму MDIChild.
Она создается при нажатии кнопки Create Window типа TButton на
главной форме c помощью конструктора TMDIChildForm.Create(Application).
Нажав на кнопку закрытия окна MDIChild, форма закрывается
с помощью Action:=caFree. А другим способом - например,
чтобы эта форма закрывалась при нажатии на другую кнопку
Close Window типа TButton на главной форме не получается.
Пытался закрыть форму MDIChild вызвав метод, который выполняется при
нажатии кнопки закрытия этого окна :
TMDIChildForm.MDIChildFormClose(Sender,Action).
Выдается ошибка компиляции. А метод MDIChildForm.Сlose вызывает исключительную
ситуацию. MDI wizard не помогает, т.к. у меня
большая программа (я описал только ядро проблемы) и переписывать
ее через этот визард займет очень много времени. Я добавил деструктор
Free, а затем метод Close. После Close появл. искл. ситуация.


Jaxtor   (2002-04-12 11:38:00) [1]

Спасибо за помощь!
Все работает.


Игорь Шевченко   (2002-04-12 11:33:00) [2]

День добрый,

Почему не получается, получается. Хоть все MDI-формы можно закрыть, к примеру,


while ActiveMDIChild <> nil do begin
ActiveMDIChild.Release();
Application.ProcessMessages();
end;


Если надо закрыть конкретную форму, то для начала ее надо найти,
а потом выполнить myMdiChildForm.Close().

С уважением,


Наверх

Титульная страница Поиск, карта сайта Написать письмо