|
![]() ![]() ![]() ![]() ![]() | |
ListView to CSVで、データ保存中に連続でエラーが発生した場合、妙な挙動が起こることが分かりました。 連続でエラーが発生する場合……というか、データ保存が失敗するときは、書き込み失敗なので、だいたい連続で発生するわけですが、ある程度は前面に出てきていたエラーダイアログが、ある時点から急に背後に隠れ始めます。 エラーダイアログが連続で何回も発生するので[OK]を押し続けていると、 急に後ろに隠れだす。 どうやら、親ウィンドウのWM_DESTROYが子ウィンドウに伝播して、子ウィンドウでWM_DESTROYが発生していることによる発生するようです。 ListView to CSVは少し特殊な作りをしており、各ウィンドウごとに保持するデータは、そのウィンドウが破棄されるタイミングで保存されます。なので、WM_DESTROYが伝播するときは、それぞれのWM_DESTROYごとにデータ保存が実行されます。 これであちこちのウィンドウごとに(しかも破棄されながらの状態で)メッセージボックスを出すと、こんな感じでおかしなことになるらしい。 状況によっては、背後に隠れたことがユーザーから認識できず、終了できなくてユーザーが混乱することになりかねないので、何らかの対応を行おうかと思います。 メッセージダイアログをTOPMOST(最前面)指定にしてしまうとか。 しかも、エラーダイアログを出しつつも、処理継続しているので、本当はエラーではなく警告(ワーニング)とするのが正しい。これも修正しなきゃ。 目次の表示: ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメール、フィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。 当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。 |
- 最近の更新 - |
|
3266473 (+0121)[+0318] Copyright© 2010-2025 INASOFT |