Выполнение приложений

Выполнение приложений. PalmOS однозадачная ОС т.е. активным бывает только одно приложение, когда пользователь переключатся на др. приложение то предыдущее завершает свою работу.

Всегда работает UIAS User Interface Application Shell это такой процесс часть ядра который сразу при старте запускает какое ни будь приложение, ждет его завершения и запускает другой, обычно первым он запускает Launcher. Приложения в Palm почти такие же как в Windows. Точка входа в Palm приложение - функция PilotMain. В качестве параметров к ней самый важный это код запуска - LaunchCode, т.к. Palm иногда может запустить приложение не сцелью запуска, а с целью сообщить что-то важное или узнать что-то от приложения например reset или синхронизация или в случае глобального поиска. SysAppLaunchCmdNormalLaunch это код обычного запуска т.е. приложение должно показать свой интерфейс.

В PalmOS есть аналог командной строки, параметры передаются при вызове приложения в PilotMain. Приложения могут запускать другие приложения с разными LaunchCode, a также можно послать всем приложениям в системе какой-то LaunchCode, чтоб они выполнили определенное действие. на рисунке показано схема работы приложения.

После того как приложение создало свой интерфейс FrmGotoForm, оно в бесконечном цикле передает управление Ядру EvtGetEvent ожидая события прикосновение стилуса или нажатие кнопки или системные события. Здесь все работает как в Windows - Если произошло событие, определить кому оно предназначено. Например если событие произошло на форме приложения - вызвать обработчик FormEvtHandler. При закрытии приложения поступает событие - AppStopEvent. 4.6.