Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 07:23, 14 July 2007.

Запуск приложения - последовательность вызовов

From Forum Nokia Wiki

Перевод с английского, оригинальная статья находится здесь.


Функция E32Main() - это точка входа приложения. Далее последовательно описаны все вызовы, которые происходят в результате выполнения E32Main():

  • 1. Вызывается функция NewApplication(). Эта функция не является членом класса CMyAppApp, не является сбрасываемой. В результате выполнения должен быть создан основной объект приложения.
  • 2. CMyAppApp::CreateDocumentL() непосредственно вызывает CMyAppDocument::NewL().
  • 3. На данном этапе выполняется первая и вторая фаза конструирования объекта класса CMyAppDocument.
  • 4. CMyAppDocument::CreateAppUiL() вызывает конструктор по умолчанию класса CMyAppAppUi.
  • 5. Конструктор по умолчанию выделяет память для объекта и обнуляет все данные-члены (обнуление данных-членов является характерное поведением C-классов ).
  • 6. CMyAppAppUi::ConstructL() (вторая фаза конструирования) создается контейнер.
  • 7. На данном этапе происходит создание контейнера.
  • 8. CMyAppContainer::SetMopParent() устанавливает в качестве родителя контейнера уже созданный объект CMyAppAppUi. Это необходимо если контейнер будет использовать полосы прокрутки (scroll bars).
  • 9. Выполняется вторая фаза конструирования контейнера - CMyAppContainer::ConstructL(). На данном этапе контейнеру передается ссылка на объект TRect. Контейнер не будет отображаться на экране до тех пор, пока не будет вызван CCoeControl::ActivateL() и контроль не вернется планировщику активных объектов, который отвечает за событийный цикл (event loop). Следовательно, если во время конструирования необходимо выполнить расчет размеров визуальных компонентов, область, в которой будет отрисовываться контейнер, должна быть рассчитана и передана из AppUi.

Image:StartupSequence.gif


Запуск приложения начинается с вызова функции E32Main().

Related Discussions
Thread Thread Starter Forum Replies Last Post
Проблема с эмулятором JTOne Russian Developer Forum - Форум Российских разработчиков 8 2008-01-07 13:15
Работа с DLL ssealien Russian Developer Forum - Форум Российских разработчиков 6 2008-01-16 07:17
Делаем основной цикл игры Ecconaut Russian Developer Forum - Форум Российских разработчиков 17 2007-12-12 04:32
Считывание входящих смс в онлайн режиме (желательно незаметно для пользователя) GenSoft Russian Developer Forum - Форум Российских разработчиков 22 2008-04-27 14:01
Trusted Application - как этого добиться JBAK Russian Developer Forum - Форум Российских разработчиков 9 2008-04-03 12:24
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX