Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » Ultra Light - C/C++ プログラミング » アプリケーション開発 » Palm OS 用 Ultra Light アプリケーションの開発

 

Ultra Light Palm アプリケーションのステータスの管理 (旧式)

接続を閉じるのではなくサスペンドしてアプリケーションを閉じる場合は、テーブルとカーソルの状態を保存できます。

現在の状態は、接続オブジェクトが開いているときに開いているテーブルに対してのみ保存されます。

Ultra Light アプリケーションを終了したり、別のアプリケーションに切り替えたりするときは、開いているカーソルとテーブルの状態が保存されます。

  1. ユーザがアプリケーションに戻ったら、適切な open メソッドを呼び出します。

    • Embedded SQL の場合は、次の関数を呼び出します。

      • db_init
      • EXEC SQL CONNECT
    • C++ の場合は、次の関数を呼び出します。

      • ULSqlca.Initialize
      • ULInitDatabaseManager
      • OpenConnection
  2. SQLCODE が SQLE_CONNECTION_RESTORED であることをチェックすることによって、接続が正しくリストアされたことを確認します。

  3. 生成された結果セット・クラスのインスタンスを含むカーソル・オブジェクトについては、次のいずれかを実行できます。

    • ユーザが別のアプリケーションに切り替えたときにオブジェクトが必ず閉じるようにし、そのオブジェクトが次に必要となったときに Open を呼び出します。このオプションを選択した場合、現在の位置はリストアされません。

    • ユーザが別のアプリケーションに切り替えたときにオブジェクトを閉じないで、そのオブジェクトへのアクセスが次に必要となったときに Reopen を呼び出します。現在の位置は保持されますが、ユーザが他のアプリケーションを使用している間、このアプリケーションのメモリ使用量が増加します。

  4. 生成されたテーブル・クラスのインスタンスを含め、テーブル・オブジェクトでは位置を保存することはできません。ユーザが別のアプリケーションに切り替える前にテーブル・オブジェクトを閉じ、それらのオブジェクトが必要となったときに Open を呼び出す必要があります。テーブル・オブジェクトに Reopen は使用しないでください。

接続を閉じると、コミットされていないトランザクションはロールバックされます。接続オブジェクトを閉じないことで未処理のトランザクションは保存されるため (コミットされません)、アプリケーションが再起動したときにそれらのトランザクションが表示され、コミットしたりロールバックしたりできます。コミットされていない変更は同期されません。


Ultra Light Palm アプリケーションの状態のリストア (旧式)
Palm OS の暗号化キーの保存、取り出し、クリア