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