INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2019-07-12 23:23 / 次へ→ / 最新へ⇒

■恥ずかしがり屋のエラーダイアログ

2019年 7月12日(金) 23:23:24 [さくらのブログから転記]



RSSRSS配信中
https://www.inasoft.org/



ListView to CSVで、データ保存中に連続でエラーが発生した場合、妙な挙動が起こることが分かりました。

連続でエラーが発生する場合……というか、データ保存が失敗するときは、書き込み失敗なので、だいたい連続で発生するわけですが、ある程度は前面に出てきていたエラーダイアログが、ある時点から急に背後に隠れ始めます。

201907_hazukashi1.jpg

エラーダイアログが連続で何回も発生するので[OK]を押し続けていると、

201907_hazukashi2.jpg

急に後ろに隠れだす。

どうやら、親ウィンドウのWM_DESTROYが子ウィンドウに伝播して、子ウィンドウでWM_DESTROYが発生していることによる発生するようです。

ListView to CSVは少し特殊な作りをしており、各ウィンドウごとに保持するデータは、そのウィンドウが破棄されるタイミングで保存されます。なので、WM_DESTROYが伝播するときは、それぞれのWM_DESTROYごとにデータ保存が実行されます。

これであちこちのウィンドウごとに(しかも破棄されながらの状態で)メッセージボックスを出すと、こんな感じでおかしなことになるらしい。

状況によっては、背後に隠れたことがユーザーから認識できず、終了できなくてユーザーが混乱することになりかねないので、何らかの対応を行おうかと思います。

メッセージダイアログをTOPMOST(最前面)指定にしてしまうとか。


しかも、エラーダイアログを出しつつも、処理継続しているので、本当はエラーではなく警告(ワーニング)とするのが正しい。これも修正しなきゃ。



目次 | ←前へ / 2019-07-12 23:23 / 次へ→ / 最新へ⇒


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3124339 (+0098)[+0681]

Copyright© 2010-2024 INASOFT