Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

MDI формы   Найти похожие ветки 

 
kilya ©   (2007-03-21 15:55) [0]

У меня вот такая проблемка
Есть главная ворма F1 приложения, есть вторая форма F2(Style:MDIForm) и есть форма F3 (Style:MDIChild).
На форме F2 на кнопочку срабатывает :TF3.Create(TF2).
Выдается исключение: "не могу создать форму. нет активной MDI формы". Если создавать для F1, то все норм. Дочерние формы можно создавать только для главной формы? Уверен что проблема в какой-нибудь мелочи: переключить свойство или т.п.. Подскажите кто-нибудь :)


 
Сергей М. ©   (2007-03-21 16:34) [1]

Главной формой MDI-приложения должна быть именно MDIParent-форма, а не какая-то иная.
Такова MDI-концепция и такова особенность VCL, придерживающейся этой концепции.


 
kilya ©   (2007-03-21 16:45) [2]

Не понял :(
F1.FormStyle : fsNormal        -- Main Form в Projects/Options/Forms
F2.FormStyle : fsMDIForm
F3.FormStyle : fsMDIChild

F2 не является MDIparent для F3 ?


 
Сергей М. ©   (2007-03-21 16:56) [3]


> F2 не является MDIparent для F3 ?


Не является. Потому что она не главная.


 
Сергей М. ©   (2007-03-21 16:58) [4]

Цитата из "генофонда":

procedure TCustomForm.CreateWindowHandle(const Params: TCreateParams);
..
 if (FormStyle = fsMDIChild) and not (csDesigning in ComponentState) then
 begin
   if (Application.MainForm = nil) or
     (Application.MainForm.ClientHandle = 0) then
     raise EInvalidOperation.Create(SNoMDIForm); //<-здесь ты получаешь отлуп, потому что у тебя Application.MainForm.ClientHandle = 0



 
kilya ©   (2007-03-21 17:02) [5]

пасиба :)



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.063 c
2-1177932260
Ламер 2.Х
2007-04-30 15:24
2007.05.20
CheckBox


8-1157620564
ScoPal
2006-09-07 13:16
2007.05.20
Play List


1-1174494493
VitAngel
2007-03-21 19:28
2007.05.20
Выделение строки в DBGrid


2-1178288335
Inna_Z
2007-05-04 18:18
2007.05.20
Как узнать версию Oracle к которой подключились?


2-1177570500
MegaVolt
2007-04-26 10:55
2007.05.20
Как определить что переданный в функцию объект ещё не создан?