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.
Запуск приложения начинается с вызова функции 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 |

