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

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

MDI [D7]


ORMADA ©   (2005-12-06 09:44:00) 

Добрый день!
Есть главная форма установленная в fsMDIForm
есть дочерние в fsMDIChild.
Если процесс создания главной формы идёт как Application.CreateForm(TMainForm, MainForm), то всё нормально, но если     MainForm:=TMainForm.Create(Application), то при создании дочерних окон вылетает сообщение "Cannot Create Form. No MDI Forms are currently active". Вопрос ПОЧЕМУ ?


Ormada   (2005-12-06 10:19:00) [1]

2 Игорь Шевченко
Спасибо что объяснили!


Игорь Шевченко   (2005-12-06 10:14:00) [2]


> Если процесс создания главной формы идёт как Application.
> CreateForm(TMainForm, MainForm), то всё нормально, но если
>     MainForm:=TMainForm.Create(Application), то при создании
> дочерних окон вылетает сообщение "Cannot Create Form. No
> MDI Forms are currently active". Вопрос ПОЧЕМУ ?


Потому что Application.Mainform устанавливается только в случае создания форме через Application.CreateForm, а для создания MDI-child требуется, чтобы Application.MainForm ссылолось на форму и свойство FormStyle этой формы было равно fsMDIForm


msguns   (2005-12-06 10:13:00) [3]

>Ormada ©   (06.12.05 10:06) [2]
>dpr
  MainForm:=TMainForm.Create(Application);

???


Ormada   (2005-12-06 10:06:00) [4]

программа не юзает dll.

dpr
   MainForm:=TMainForm.Create(Application);
   MainForm.ShowModal;
   MainForm.Free;

MainForm
constructor

constructor TMainForm.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
...
---------------------------
click
 MCChatForm := TMCChatForm.Create(Application, MainADOConnection, AToUserID);
----------------------------------

child

constructor

constructor TMCChatForm.Create(AOwner: TComponent; AADOConnection: TADOConnection; AOpponentID: integer);
begin
 inherited Create(AOwner);


msguns   (2005-12-06 10:02:00) [5]

Приведи код проекта.


Наверх

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