| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Дублирование MDI-Child |
| Автор: Serggggg 31.8.2004, 13:13 | ||
| Доброго всем времени суток! Прошу помощи! Приложение использует MDI-архитектуру. Нужно: при попытке открытия MDI-Child-окна отследить, открыто ли оно. Если да - вынести на передний план, нет - создать экземпляр. При вызове из главного окна программы (из меню, например) я решаю этот вопрос так:
Вопрос: Теперь надо сделать то же самое, но при попытке вызова MDI-Child не из главного окна программы, а из другой MDI-Child. Помогите, если кто знает! |
| Автор: <Spawn> 31.8.2004, 13:47 |
| Попробуй через (MDIChildForm.Parent as TForm).MDIChildren[i] |
| Автор: Serggggg 31.8.2004, 14:22 |
| <Spawn>, попробовал - вылетает Access Violation Речь вообще идет о том, чтобы в приложении, использующем MDI, создавать экземпляр формы (чтобы обращаться к свойствам и методам этой формы). При этом для корректной работы (как ты мне когда-то давно советовал) нужно, чтобы каждое дочернее MDI-окно открывалось только 1 раз. Вот это я и пытаюсь реализовать. |
| Автор: Serggggg 31.8.2004, 16:14 | ||||
| Ответ был найден! Спасибо всем за внимание. Решение достаточно простое - при любом вызове (откуда-угодно) используется обработчик:
При этом в вызываемых MDIChild-окнах необходимо сделать следующий обработчик OnClose:
|