アプリケーションが処理を続ける前にユーザーが表示や再生のプログラムを終わるまで (つまり、DBiBrowse、DBaPlay、または DBvPlay API がコードを戻すまで)、アプリケーション・プログラムを待機させるかどうかを指定することができます。 アプリケーション・プログラムの処理を待機させたい場合は MMDB_PLAY_WAIT を、 待機させたくない場合は MMDB_PLAY_NO_WAIT をそれぞれ指定します。 MMDB_PLAY_WAIT と MMDB_PLAY_NO_WAIT は、エクステンダーによって定義された定数です。
MMDB_PLAY_WAIT を指定すると、表示や再生のプログラムは、アプリケーション・プログラムと同じスレッドまたはプロセスで実行されます。 MMDB_PLAY_NO_WAIT を指定すると、表示や再生のプログラムは、アプリケーション・プログラムから独立した独自のスレッドまたはプロセスで実行されます。
たとえば、次のステートメントを実行すると、アプリケーション・プログラムは、ユーザーが画像ブラウザーをクローズするのを待ってからアプリケーションの処理を続けます。
rc = DBiBrowse( "explore %s", MMDB_PLAY_FILE, "/employee/images/ajones.bmp", MMDB_PLAY_WAIT /* wait for browser to close */ );
DBxPlay と MMDB_PLAY_NO_WAIT を指定する場合には注意が必要です: DBaPlay または DBvPlay を実行すると、次のいずれかの条件が当てはまる場合、エクステンダーは一時ファイルを作成します。
一時ファイルは、TMP 環境変数によって指定されるディレクトリーに作成されます。 MMDB_PLAY_WAIT を指定すると、エクステンダーは、オブジェクトの再生後、その一時ファイルを削除します。 しかし、MMDB_PLAY_NO_WAIT を指定すると、一時ファイルは削除されません。 したがって、一時ファイルを自分で削除する必要があります。