Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

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

From Wiki
Jump to: navigation, search
Article Metadata

Статья
Перевод:
Den123
Последнее редактирование: hamishwillee (17 Aug 2012)

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

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

StartupSequence.gif


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

This page was last modified on 17 August 2012, at 06:25.
199 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×