2011-03-19 14 views
2

私が思っている主なことは、ボタンのアクションが削除されるとします。これは、アクションリスナーがボタンに追加されたことを意味し、そのアクションイベントは、ボタンが呼び出されたときにそのボタンが破棄されることを望みます。しかし、単にそれを削除することはできません、それはいくつかの削除のためのマークをする必要があり、ボタンがイベントを完了したら、それは削除されます。GUIでのメモリ管理

私にとっては、2つの主な問題があります。私のGUIが多形であるため、ポインタはDLLのファクトリから来ている可能性があります。また、削除キューにボタンを追加した場合でも、いつそのキューをデキューする必要がありますか?ゲームがアップデート()を受けるたびにキューをチェックするだけでいいですか?

これは、通常、BaseButtonからスーパーボタンを作成できるGUIでどのように行われますか。

ありがとう

答えて

3

通常、GUIには非同期入力メッセージを処理するためのメッセージループがあります。このようなことがあると仮定すると、通常の方法では、このキューにメッセージを送信して制御を削除します。イベントハンドラの完了後にメッセージキューがポンピングされるので、問題はありません。