×
Namespaces

Variants
Actions

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

From Nokia Developer 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 09:25.
62 page views in the last 30 days.
×