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

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

Последовательность событий жизненного цикла форм [D7, XP]


Kiril123 ©   (2010-02-18 12:12:00) 

Имеется прога с тремя окнами. Как Дельфи при запуске создает-показывает формы? В какой последовательности?
1)Form1.Create
2)Form1.Show
3)Form2.Create
4)Form3.Create
Или в другой последовательности?


Kiril123   (2010-02-19 12:24:00) [1]

>{RASkov},Плохиш. Спасибо за советы,почитаю справку.


Плохиш   (2010-02-19 11:54:00) [2]


> Kiril123   (18.02.10 12:12)  

В справке и документации к указанной D7 всё это подробно описывается.


{RASkov}   (2010-02-19 11:44:00) [3]

> [9] Kiril123   (19.02.10 10:18)
> Подскажи плиз как посотреть создана ли форма?

Ты запутался, тебе прямой ответ не поможет.
Читай справку, изучай порядок вызовов обработчиков событий.
А форма создана после вызова конструктора у класса.
И еще не нужно путать сам объект с переменными, ссылающимися на этот объект...
т.е. смотри:
var F: TFOrm;
begin
 F:=TForm.create();
 F:=nil;
 if Assigned(F) then ?
end;

Создана ли форма F?


Kiril123   (2010-02-19 10:18:00) [4]

>Вася. Подскажи плиз как посотреть создана ли форма?
>Германн. Код длинный очень..


Германн   (2010-02-19 01:35:00) [5]


> Kiril123   (18.02.10 12:12)
>
> Имеется прога с тремя окнами. Как Дельфи при запуске создает-
> показывает формы? В какой последовательности?
> 1)Form1.Create
> 2)Form1.Show
> 3)Form2.Create
> 4)Form3.Create
> Или в другой последовательности?

Лучше бы привел кусок кода, в котором "выдаётся" ошибка.


Вася   (2010-02-18 23:43:00) [6]

Ставишь точку останова на OnShow, смотришь - созданы ли вторая и третья формы (если еще не созданы, то соответствующие глобальные переменные равны nil)


Игорь Шевченко   (2010-02-18 18:21:00) [7]


> Почему спрашиваю,-на 1-ой оншов процедуры работают с компонентами
> ост. форм(CheckBox-es) и при запуске IDE выдает Runtime
> 210. Можно ли это делать или прога не успевает создать до
> этого момента ост. формы?


Предлагаешь поработать отладчиком ?


Kiril123   (2010-02-18 18:08:00) [8]

А когда происходит Form1.Show? После Application.CreateForm всех остальных? Почему спрашиваю,-на 1-ой оншов процедуры работают с компонентами ост. форм(CheckBox-es) и при запуске IDE выдает Runtime 210. Можно ли это делать или прога не успевает создать до этого момента ост. формы?


Игорь Шевченко   (2010-02-18 13:06:00) [9]


> Как она 1-ую форму показывет не понятно..


согласно свойству Visible формы


Sergey13   (2010-02-18 12:55:00) [10]

> [2] Kiril123   (18.02.10 12:20)
> Как она 1-ую форму показывет не понятно..

Ну так она наверное указана как главная.


Kiril123   (2010-02-18 12:20:00) [11]

>Игорь Шевченко.
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm3, Form3);
Application.Run;

Show нету ни на одну форму. Как она 1-ую форму показывет не понятно..


Игорь Шевченко   (2010-02-18 12:14:00) [12]

как в .dpr написано


Наверх

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