モーダルダイアログ表示中の新規起動で無応答になる

  1. オプションやバージョン情報ダイアログを表示している状態で、
    エクスプローラなどから別のMeryを起動すると、

    タブモードの場合:
    ウィンドウが操作不能になります。

    SDIの場合:
    新規起動画面の背後に回った元ウィンドウを
    クリックしても元ウィンドウが前面に出てきません。
    タスクバーで選択して前面に出しても、
    そのウィンドウは操作不能になっています。

    ウィンドウがDisabeのまま、ダイアログが背面に回ってしまっている?

    使用環境:Vista/Win7
    Mery Ver.:1.0.6.1910(過去のバージョンを遡って試しても同じ)

     |  petit  |  返信
  2. 現象確認致しました。
    逃げる技としてタブキーで切り替えれば硬直を回避できます。

    んー常にヘルプとかの小窓をアクティブすればいいのかなぁ・・・

     |  MOON  |  返信
  3. 同じくWin7で現象確認。
    モーダルダイアログの拡張スタイルにWS_EX_TOPMOSTを適用してやればどうにかなりそうですが・・・
    HSP側から無理矢理拡張スタイルを書き換えてやることもできますが、さすがにそれはまずいですね・・・(第一ソフト常駐させとく必要あるし)

     |  miso  |  返信
  4. ご報告ありがとうございます。

    遅くなってしまい申し訳ございません。
    季節の変わり目はどうも体調がすぐれなくて、、、会社も休んでしまいました。
    (インフルでは無かったです。)

    うは、、、モーダルなのにモーダルじゃないんですね、なんだこのDelphi。。。

    > モーダルダイアログの拡張スタイルにWS_EX_TOPMOSTを適用してやればどうにかなりそうですが・・・

    WS_EX_TOPMOSTを内部的に適用してみたのですが、ダメでした。。。
    でも、なんとか回避策が見つかりました。次回リリースで修正できると思います。

    おまけに今回の現象を調査していると、別のバグも見つかりました。
    モーダルダイアログ開いている状態でタスクトレイに常駐してるMeryを右クリックで終了させると
    ぬるぽが発生しますね・・・。

    モーダル中に別の操作は予想してませんでした・・・。ぐふぅ。

     |  Kuro  |  返信