- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
[[← 4 節に戻る|Palm OS Programmer's Companion Volume I/2-4]] [[↑2 章トップへ|Palm OS Programmer's Companion Volume I/2]] [[6 節に進む →|Palm OS Programmer's Companion Volume I/2-6]]
----
!!!2-5 アプリケーションの終了
アプリケーションは appStopEvent イベントを受信すると、自分自身を終了させます。これがイベントであり、起動コードではないことに注意してください。アプリケーションはこのイベントを検出し、終了しなければなりません。(次の章でイベントについて学ぶことになります。)
アプリケーションが終了する際、データベースのクローズや状態の保存などを含めた後処理をすることができます。
終了ルーチンでは、アプリケーションはまず開いているレコードを全てフラッシュし、次にデータベースをクローズします。最後に次回の起動に必要な現在の状態を保存します。リスト2.3 に例として Datebook.c の StopApplication ルーチンを示します。
!リスト 2.3 Datebook.c の StopApplication 関数
static void StopApplication (void)
{
DatebookPreferenceType prefs;
// Write the preferences / saved-state information.
prefs.noteFont = NoteFont;
prefs.dayStartHour = DayStartHour;
prefs.dayEndHour = DayEndHour;
prefs.alarmPreset = AlarmPreset;
prefs.saveBackup = SaveBackup;
prefs.showTimeBars = ShowTimeBars;
prefs.compressDayView = CompressDayView;
prefs.showTimedAppts = ShowTimedAppts;
prefs.showUntimedAppts = ShowUntimedAppts;
prefs.showDailyRepeatingAppts = ShowDailyRepeatingAppts;
// Write the state information.
PrefSetAppPreferences (sysFileCDatebook, datebookPrefID,
datebookVersionNum, &prefs, sizeof
(DatebookPreferenceType), true);
// Send a frmSave event to all the open forms.
FrmSaveAllForms ();
// Close all the open forms.
FrmCloseAllForms ();
// Close the application's data file.
DmCloseDatabase (ApptDB);
}
----
[[← 4 節に戻る|Palm OS Programmer's Companion Volume I/2-4]] [[↑2 章トップへ|Palm OS Programmer's Companion Volume I/2]] [[6 節に進む →|Palm OS Programmer's Companion Volume I/2-6]]