- 147 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:21:38 ]
- 例えば
メッセージ: 「実行時にフォーマットを行いますか?」 ラジオボタン: 「はい(デフォルト)」「いいえ」 ボタン: 「実行」 なんてダイアログがあって、次のイベントが入ってくるとします。 (1)「ラジオボタン[いいえ]をクリック」 (2)「[実行]をクリック」 この場合、入力イベントがシーケンシャルに処理されるのであれば (2)のイベントを処理する段階では(1)が既に処理されている事を概ね 仮定出来ます。ラジオボタンの現在状況を気にせず、選択状態を示す 内部変数を参照して処理を開始できます。 ところが、このラジオボタンはとても重要なので"シャッキーン"とか 派手なビジュアルエフェクトの後に内部変数を[いいえ]側に倒す実装の 場合はどうでしょう。 となると[実行]ボタンの側では処理を開始する前に、ラジオボタン等々の 処理内用に関連する全てのGUI部品向けのイベントが全て処理済みで あるか確認する必要があります。 もし個別のGUI部品が非同期にイベントを受領して処理する事が可能 なのであれば、プログラマは常に部品間の依存関係に注意して適切に ロックなどを設計する必要があります。これが結構大変。 あるいは、高度なユーザーであれば、ダイアログボックスの生成に要 する0.5秒より短い時間でいいえ「付近」と実行「付近」をカンでクリック してくるかも知れません。 ラジオボタンの生成やpaintが完了する前に[実行]ボタンがイベントを 受領してしまうと、どうでしょう。
|

|