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

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

MDI-приложение


ZFS ©   (2006-12-11 11:02:00) 

Так получилось, что пришлось уже готовый готовый проект перевести в MDI. Так бы всё ничего, но понадобилось создать одну из MDIChild форм создавать сразу при запуске приложения. Вставляю создание этой формы на onFormShow главной формы и получаю сообщение: "Cannot create form. No MDI forms are currently active.". Ради интереса создал новый MDI-проект, там такой ошибки нет. Вроде бы все параметры (проекта, главной формы и формы-ребёнка) одинаковы, но почему-то в новом проекте всё работаёт, а в старом такая вот беда. Что это может быть?
В принципе, я пока обошёл эту ситуацию создавая форму на onIdle, но всё равно -- не понятно и не красиво..


ZFS   (2006-12-11 12:51:00) [1]

Хм.. Странно, но так оно работаёт! :)


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


> Главная форма MDI-приложения должна быть MDI-parent-формой.


И должна создаваться первой


Сергей М.   (2006-12-11 12:29:00) [3]


> понадобилось создать одну из MDIChild форм создавать сразу
> при запуске приложения


Зачем же это делать в OnShow ?

Просто добавь код ее создания в текст проекта:

Application.Initialize;
Application.CreateForm(MyMDIParentForm, TMyMainMDIForm);
TSomeMDIChildForm.Create(MyMDIParentForm);
Application.Run;


ZFS   (2006-12-11 12:14:00) [4]

Разумеется!


Сергей М.   (2006-12-11 11:06:00) [5]

Главная форма MDI-приложения должна быть MDI-parent-формой.
Т.е. должно быть соблюдено условие MainForm.FormStyle = fsMDIParent


Наверх

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