Вниз
Скачать: CL | DM;

Последовательность событий жизненного цикла форм   Найти похожие ветки 

← →
Kiril123   (2010-02-18 12:12) [0]

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


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

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


← →
Kiril123   (2010-02-18 12:20) [2]

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

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


← →
Sergey13 ©   (2010-02-18 12:55) [3]

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

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


← →
Игорь Шевченко ©   (2010-02-18 13:06) [4]


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


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


← →
Kiril123   (2010-02-18 18:08) [5]

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


← →
Игорь Шевченко ©   (2010-02-18 18:21) [6]


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


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


← →
Вася   (2010-02-18 23:43) [7]

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


← →
Германн ©   (2010-02-19 01:35) [8]


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

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


← →
Kiril123   (2010-02-19 10:18) [9]

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


← →
{RASkov} ©   (2010-02-19 11:44) [10]

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

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

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


← →
Плохиш ©   (2010-02-19 11:54) [11]


> Kiril123   (18.02.10 12:12)  

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


← →
Kiril123   (2010-02-19 12:24) [12]

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



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.051 c
10-1166695535
Nick6
2006-12-21 13:05
2010.08.27
XLReport и DCOM


3-1238700292
Tonich
2009-04-02 23:24
2010.08.27
Привязка FireBird к часовому поясу.


15-1270326605
Юрий
2010-04-04 00:30
2010.08.27
С днем рождения ! 4 апреля 2010 воскресенье


15-1272524393
stas
2010-04-29 10:59
2010.08.27
плагин для ms office


2-1265981290
Mestar
2010-02-12 16:28
2010.08.27
1C и Delphi




   Наверх