Вниз
Скачать: 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.049 c
4-1234764051
Андрей_1
2009-02-16 09:00
2010.08.27
Управление внешним устройством


9-1180439487
gray_falcon
2007-05-29 15:51
2010.08.27
Как реализовать графику на 2D движке


15-1268851235
NailMan
2010-03-17 21:40
2010.08.27
Кто пользовал электронные книги, нужно посоветоваться


2-1267541345
Pavel
2010-03-02 17:49
2010.08.27
Чтение данных из буфера


15-1266819424
b/@.
2010-02-22 09:17
2010.08.27
Нужен драйвер USB flash -> DVD-дисковод




   Наверх