Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > OnCreate, OnShow, OnActivate, OnPaint


Автор: codelord 20.12.2006, 17:38
Ответьте плиз кто знает, ситуация такая, вешаю на события 
OnCreate, OnShow, OnActivate, OnPaint, запись в файл когда происходят
чтобы понять когда моя прога дольше висит, и получаю непонятные для меня 
вещи.т.е. Если проект пустой получаю такую штуку :
первое что происходит, вторая цифра от GetTickCount();
Цитата

OnCreate, 13771842 
OnShow, 13771852 
OnActivate, 13771862 
OnPaint, 13771882 
OnCreate, 13779814 

запускаю прогу получаю:
Цитата

OnCreate, 13744954 
OnActivate, 13744984 
OnShow, 13745114 
OnPaint, 13745144 
OnCreate, 13755329 

т.е. как видно OnShow и OnActivate поменялись местами почему?
И еще почему OnCreate вызывается два раза?.

Автор: Vyacheslav 20.12.2006, 17:49
Теперь остается только разобраться чем отличается
Цитата(codelord @  20.12.2006,  17:38 Найти цитируемый пост)
Если проект пустой получаю такую штуку :

и
Цитата(codelord @  20.12.2006,  17:38 Найти цитируемый пост)
запускаю прогу получаю:

smile

Автор: codelord 20.12.2006, 17:52
Ну вот если просто в билдере создать проект new Application то будет первый вариант, 
а если я свою прогу которая большая и толстая то второй smile

Автор: Vyacheslav 20.12.2006, 18:04
Цитата(codelord @  20.12.2006,  17:38 Найти цитируемый пост)
И еще почему OnCreate вызывается два раза?. 

Ну это просто smile Вы в обработчике OnClose выводите OnCreate.
У меня в "пустом" проекте получилось вот так
Цитата

OnCreate
OnShow
OnActivate
OnPaint
OnClose
  

Автор: codelord 20.12.2006, 18:35
Сейчас попробовал на ноуте, о чудо пишет как надо. Блин че за фигня  smile 
еще почемуто, когда форма не активна и становится активна на ноуте пишет тольк paint а на 
компе два события OnPaint и OnCreate. ???? так работает он только на компе, на ноуте даже скопиелный 
на компьютере работает правильно. Может есть у кого мысли в чем прикол?ничего не понимаю зачем мне этот 
Create при каждом обращении к программе.

Автор: Vyacheslav 20.12.2006, 19:04
Вы бы в инспекторе внимательно проверили на какие события у Вас обработчики навешаны и какие

Автор: codelord 20.12.2006, 19:04
ой не могу я понял  smile О чудо!  smile  smile  smile 
в общем ситуация такая короче тестил я свой текстовый редактор, а файл  в который писался лог открывал всегда открывал
им же , поэтому пока редактор успевал его открыть, успевал дописать в него событие OnCreate. хе хе хе

Автор: BreakPointMAN 20.12.2006, 19:18
Вообще говоря, должо быть все http://sources.ru/builder/faq/044.html...  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)