Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.08.27;
Скачать: 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 вся ветка

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

Наверх




Память: 0.49 MB
Время: 0.362 c
2-1274677239
viktooor
2010-05-24 09:00
2010.08.27
Поис в диапазоне дат


15-1270894944
имя
2010-04-10 14:22
2010.08.27
Мда ....


2-1273031451
Серг
2010-05-05 07:50
2010.08.27
Работа с массивом


2-1266579449
pavelkq
2010-02-19 14:37
2010.08.27
Генерация библиотеки COM-модуля.


15-1266165222
Czz
2010-02-14 19:33
2010.08.27
Win7 - не запускается проводник 2