![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]Приведи код проекта.