トップ 一覧 検索 ヘルプ RSS ログイン

Palm OS Programmer's Companion Volume I/2-5の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
[[← 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]]