- - PR -
NotifyIconでのバルーン表示について
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2009-04-02 18:59
VisualStudio2008でFramework2.0のアプリケーションを開発しております。
FormにNotifyIconを貼り付け、常駐プログラムを作成しております。 複数のフォルダをSystem.Threading.Timerを使用して監視してます。 ※フォルダ数の数だけTimerを生成しています。 Timerのコールバック関数内で例外エラーが発生した場合に、NotifyIconの Balloon表示を行いたいと思っております。 このような場合、メインスレッド以外のスレッドからFormのNotifyIconを 操作する事になるのでしょうか? 現在、UnhandledExceptionイベントを追加し、FormのNotifyIconを直接参照 してバルーン表示までできたのですが、その後にエラーが発生してしまいます。 ※終了するとエラーは表示されないのですが、処理継続させようとしています。 エラー:"問題が発生したため、XXXXXXを終了します。ご不便を〜" 実装方法に問題があるのかご教授願えたらと思います。 宜しくお願い致します。 | ||||||||||||
|
投稿日時: 2009-04-03 09:29
これは例外が処理されなかったときに発生するメッセージで、ここからはエラーの原因はわかりませんので、発生した例外の詳細を調べるのが最優先だと思います。ただし、実行ファイルから起動したときにはこれが出ますが、デバッガで実行している場合はデバッガが停止して例外の詳細情報を知ることができたと思います。(デバッガの設定によりますが) 少なくとも UnhandledException にブレークポイントを置けばとまってくれると思います。
UnhandledException はワーカースレッドで実行されるわけではありませんから、これは関係ないように思います。
FileSystemWatcher という便利なコンポーネントもありますが、検討済みですか? | ||||||||||||
|
投稿日時: 2009-04-03 10:01
ありがとうございます。
FileSystemWatcherも検討しましたが、下記の理由でTimerに変更しました。 1) 通知回数やタイミングが更新方法で違うので、対応が複雑(?)になる。 2) 通知受け後の処理で異常終了した場合、リカバリするタイミングが 複雑と思われたため。 3) System.Threading.Timer も軽く動作する。 相当悩みました。 実行時のエラーについては、もっと追ってみます。 | ||||||||||||
|
投稿日時: 2009-04-03 11:37
デバッガで詳細を見てみましたが、 "Exceptionはハンドルされませんでした"でした。 UnhandredExceptionのイベントでは正しくブレークできるのですが・・・ また別のExceptionを意味しているのでしょうか? 宜しくお願いします。 | ||||||||||||
|
投稿日時: 2009-04-03 11:46
えっと・・・InnerExceptionに何かはいってませんか? | ||||||||||||
|
投稿日時: 2009-04-03 11:56
確認してみましたが、nullになってます。 今、Timerイベントで無理やりExceptionをThrowして、UnhandedExceptionでキャッチしています。 バルーン表示されてすぐエラーになってます。 バルーン表示してEnvironment.Exit()すればエラー出ず終了できるのですが・・・ | ||||||||||||
|
投稿日時: 2009-04-03 12:49
状況がいまいちわからないのですが・・・
まず、UnhandedException 内にブレークポイントを置いてデバッガで中断させますよね。そこからステップ実行していくと、どこかで例外が発生するのでしょうか? もしそうならその部分のコードと、どの行で例外が発生するのかを教えてください。 それともそういう意味ではなく、デバッガでは例外が発生しないのに実行ファイルから直接起動すると「問題が発生したため...」のメッセージが表示されるということでしょうか? [追記] もし後者なら、Windows のイベントビューアのアプリケーションログを見てみるとエラーの情報が得られるかも知れません。 [/追記] [ メッセージ編集済み 編集者: テッテ 編集日時 2009-04-03 12:52 ] | ||||||||||||
|
投稿日時: 2009-04-03 13:28
単純にUnhandledExceptionイベントの中で
|
1|2|3
次のページへ»