DOBON.NET DOBON.NETプログラミング掲示板過去ログ

スレッドのデバグ

  • 題名: スレッドのデバグ
  • 著者: 可不可
  • 日時: 2006/05/10 19:19:56
  • ID: 15705
  • この記事の返信元:
    • (なし)
  • この記事への返信:
  • ツリーを表示
環境/言語:[C#2]
分類:[.NET]

スレッドを使ったプログラムを作っています。デバグモードではエラーで止まるのに、生成されたバイナリではちゃんと動きます。
これはデバグモードでの現象で、無視していいのでしょうか、それとも何か問題があるのでしょうか。
プログラムは録音で、winmm.dllを使ったフリーのdllを見つけました。.NET Framewok 1.1ですが、付属サンプルをC#2に移植しました。

動いたとしても心配です。何かご意見をお願いします。
> スレッドを使ったプログラムを作っています。デバグモードではエラーで止まるのに、生成されたバイナリではちゃんと動きます。
> これはデバグモードでの現象で、無視していいのでしょうか、それとも何か問題があるのでしょうか。

どんなエラーが出ているんでしょうか?
エラーの内容によって判断は異なります。
> どんなエラーが出ているんでしょうか?
> エラーの内容によって判断は異なります。
失礼しました。以下のようにでます。
-------------
有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'btnSart' がアクセスされました。
-------------
'btnSart'は録音開始ボタンで、コイツを1回しかクリックしなくてもこのエラーが出ます。
> -------------
> 有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'btnSart' がアクセスされました。
> -------------

見過ごしてはいけないタイプのエラーですね。

> 'btnSart'は録音開始ボタンで、コイツを1回しかクリックしなくてもこのエラーが出ます。

ボタン(を乗せたフォーム)を new したのとは別なスレッドからボタンを操作しようとしていませんか?

であれば、エラーメッセージにあるとおり、それは原則として「やってはいけないこと」です。

.NET Framework 1.x では「プログラマが気をつける」ことになっていますが、.NET Framework 2.0 からはライブラリが確実に例外を投げてくるように修正されています。
  • 題名: Re[4]: スレッドのデバグ
  • 著者: 可不可
  • 日時: 2006/05/14 15:54:04
  • ID: 15753
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No15722に返信(渋木宏明(ひどり)さんの記事)
>
> 見過ごしてはいけないタイプのエラーですね。
>
>>'btnSart'は録音開始ボタンで、コイツを1回しかクリックしなくてもこのエラーが出ます。
>
> ボタン(を乗せたフォーム)を new したのとは別なスレッドからボタンを操作しようとしていませんか?
そう言われれば、その可能性もありそうです。もう一度コードを眺めてみます。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板