- PR -

RedCross もしくは 赤× 問題について

1
投稿者投稿内容
ヤマハブラザーズ兄
会議室デビュー日: 2006/01/19
投稿数: 10
投稿日時: 2006-07-12 15:09
訳のわからないタイトルですいません。内容は以下の通りです。

Xpマシンに.NET2003(C#)で作ったAP入れて動かしてるんだけど、
ごく稀にWindowsForm上に設置した特定のラベルコントロールが、
赤×表示されてしまう事があります(赤×表示=ラベル一杯に
バッテンが赤線で表示される)。

Webで調べたんだけど、日本サイトでは何も見つからなくて、
海外サイトでは”RedCross”とか”RedX”とか呼ばれてて、
何やら同様の現象について議論は交わされてるんだけど、
はっきりとした原因・解決策が載った所に行き着きません。。。
※今のところExceptionがcatch出来てるかどうか不明なんだけど、
 どうやら描画で障害が起きている模様。

なお、当方では、FormLoad時にそのLabelコントロールのtext
プロパティに外字を設定していおり、それが問題なのかと思った
のですが、
海外サイトによると、Label以外にラジオボタンやデータグリッド
でも発生している様です。

この現象が発生した場合、プログラム再起動すると一旦は元に
戻るのですが、再現タイミング等不明な為、
是非原因究明したいと考えているところです。

どなたか経験者・有識者の方々、アドバイスお願いします。


囚人
ぬし
会議室デビュー日: 2005/08/13
投稿数: 1019
投稿日時: 2006-07-12 23:05
引用:

※今のところExceptionがcatch出来てるかどうか不明なんだけど、
 どうやら描画で障害が起きている模様。


catch しないでそのままスルーしてみては。

catch してるところが多すぎて手がつけられないなら、デバッガでデバッグ実行して例外が発生した時点で止めてみてください。
_________________
囚人のジレンマな日々
Bell
会議室デビュー日: 2004/03/09
投稿数: 13
投稿日時: 2006-07-13 11:15
的外れかもしれませんが、スレッドを複数走らせているのでしたら…

そのコントロールが属しているスレッド以外のスレッドからそのコントロールのプロパティを変更するとその現象が出ることがあります。

Mainのスレッド(Formの表示とか)上から
別スレッドを走らせて、その中でFormのコントロールのプロパティをクリティカルなタイミングでいじるとこの赤×に表示が置き換わるみたいです。

もしこの状況に当てはまるようなら
スレッド処理の同期とかInvokeとかを調べてみるといいかも。
1

スキルアップ/キャリアアップ(JOB@IT)