Category:
Xojo
引き続き Xojo ネタ。スレッドから GUI を操作する際に非常に有用な Task クラスですが、特定の場合 (スレッドへの参照が無くなり GC 対象となった場合) にイベントが欠送してしまう不具合 (または仕様?) があります。イベントキュー (mEvents) が空になる前にスレッドインスタンス (とイベントディスパッチ用タイマ) が GC されてしまうためです。
この問題を修正した Task クラスを Feedback #31494 に添付しているので、よろしければご参照ください。
スレッドとイベントディスパッチ用タイマを循環参照にした上で (Xojo の GC は Reference Counting のため)、スレッドの最後で 100 msec おきにイベントのディスパッチ完了を待機するようにしています。
この問題を修正した Task クラスを Feedback #31494 に添付しているので、よろしければご参照ください。
スレッドとイベントディスパッチ用タイマを循環参照にした上で (Xojo の GC は Reference Counting のため)、スレッドの最後で 100 msec おきにイベントのディスパッチ完了を待機するようにしています。
Comments