none
ノートPCで起動するとエラーが出てしまう。 RRS feed

  • 質問

  • 初めまして。 お世話になります。

    ハードウェアの問題かと思ったのですが、こちらでの意見を聞いてみたいと思い投稿します。

     

    Win7 デスクトップで開発していたプログラムがあるのですが、客先での修正なども考えて開発環境をWin7 ノートに移し変えようと思ったのですが、プログラム内容等を変えずにデバッグをするとエラーで落ちてしまいます。

     

    エラー内容は「InvalidOperationExceptionはハンドルされませんでした。」

    この操作でOperationCmpletedは既に呼びだされているため、これ以上の呼び出しは無効です。

    となっています。

    また、デスクトップでデバッグしたときとノートでデバッグしたときとでノートでデバッグしたときのほうが動きがもっさりしている感じがします。

    OS等のパッチを最新のものを入れてみても変化はありませんでした。

    何かわかる方はいらっしゃいませんでしょうか。

     

    以下、開発環境

     

    デスクトップマシン

    OS:Windos7 Professional SP1 64bit

    製造元:Dell

    モデル:Vostro 260S

    CPU:Core i3-2100 3.1GHz

    メモリ:2GB

    ビデオカード:Intel HD Graphics Family

    ソフトウェア:Visual Studio 2010 Premium

     

    ノートマシン

    OS:Windos7 Professional SP1 64bit

    製造元:HP

    モデル:Pavilion dv7

    CPU:Core i5-2410M 2.3GHz

    メモリ:4GB

    ビデオカード:Radeon HG 6490M

    ソフトウェア:Visual Studio 2010 Premium

     

    よろしくお願いします。

    2011年9月7日 4:36

回答

  • いろいろなご意見ありがとうございます。また、情報が少なすぎて申し訳ありません。

     

    いろいろと調べた結果解決いたしました。

    原因としてはAutoScaleModeの設定と画面プロパティのフォントサイズの設定でした。

    AutoScaleModeをFontにしていて、前開発機のフォントサイズは小、現開発機のフォントサイズが中となっていて、プログラムを移した際フォントやサイズなどが自動的に書き換えられていた中でエラーが発生したものだと思われます。

    なぜそうなったのか、詳しい原因はわかりませんが、エラーはでなくなりました。

    お騒がせしました。

    また何かわかったことがありましたら、書き込ませていただきます。

    2011年9月9日 1:26

すべての返信

  • >Win7 デスクトップで開発していたプログラムがあるのですが

    Windows.Forms ですか?

    >デバッグをするとエラーで落ちてしまいます。

    具体的に、どんな処理を行った時でしょう?

    >エラー内容は「InvalidOperationExceptionはハンドルされませんでした。」

    「Windows.Forms アプリケーションである」という仮定だけから想像すると、ワーカースレッドから Control.Invoke などを介さずに、直接的にフォームやコントロールのメソッドを呼びだしたりしてませんか?

    もしそうなら、それは Windows.Forms の仕様に適合していない操作を行っていることになります。

     

    2011年9月7日 6:02
  • >Windows.Forms ですか?

     

    はい、Windowsフォームです。

     

    >具体的に、どんな処理を行った時でしょう?

     

    tabコントロールでtabを押してtabpageが切り替わるときです。

    また、そのときの動きとしてデスクトップで実行したときは通常通り(違和感はない)ですが

    ノートPCで実行したときはtabボタン押下後残像が残る感じでもっさりとした動きになります。(切り替わりに0.5秒くらいかかります。)

     

    >「Windows.Forms アプリケーションである」という仮定だけから想像すると、ワーカースレッドから Control.Invoke などを介さずに、直接的にフォームやコントロールのメソッドを呼びだしたりしてませんか?

     

    そういうことはしていません。上記の通り、tabpageの切替えをしているだけです。

    また、デスクトップPCでの実行ではエラーはまったく出ていません。

     

    昨日の環境のほか新たに他の環境でもプログラムを実行してみましたが、そちらもエラーも出ず問題なく動きました。

    以下実行環境

     

    デスクトップマシン

    OS:Windos7 Enterprise SP1 64bit

    製造元:Shuttle

    モデル:SH67H3

    CPU:Core i7-2600K 3.4GHz

    メモリ:8G

    ビデオカード:Intel HD Graphics Family

    ソフトウェア:Visual Studio 2010 Premium

     

    ノートマシン

    OS:WindosXP Professional SP3 32bit

    製造元:LENOVO

    モデル:22438TJ

    CPU:Core2 Duo P8600  2.4GHz

    メモリ:2GB

    ビデオカード:Intel 4 Series Express Chipset Family(オンボード)

    ソフトウェア:Visual Studio 2010 Premium

    2011年9月8日 2:08
  • tabコントロールでtabを押してtabpageが切り替わるときです。

    また、そのときの動きとしてデスクトップで実行したときは通常通り(違和感はない)ですが

    ノートPCで実行したときはtabボタン押下後残像が残る感じでもっさりとした動きになります。(切り替わりに0.5秒くらいかかります。)

    このフォーラムではコードを提示してもらわない限り何もしようがありませんが。

    「ハード故障かもしれませんねぇ」と誰かに言ってもらいたいのでしょうか?

    2011年9月8日 2:58
  • 「ソフトウェア:Visual Studio 2010 Premium」とありますが、それは開発環境です。

     

    それに対して C# なり VB なりといった言語とソース、

    合わせて Exception の Source や StackTrace なんかまでもらえないと調べようがないですよ。

     

    デバッグしたとの事でしたが、 TargetSite が何なのかすら見当付いてないですよね?

    ※Exception の InnerException を掘っていけばエラーが発生したメソッドに当たり付くのでは?

    何にせよ情報が少な過ぎです。

    2011年9月8日 4:15
  • >そういうことはしていません。上記の通り、tabpageの切替えをしているだけです。

    そうですか。

    なら、最初に書いといてください。

    TabPage の切り替えと連動して、何か独自の処理をしてますか?

    その処理に何か問題が含まれている可能性はないでしょうか?

    また、問題の発生する実行環境に何か余分なアプリが動作・常駐していたりはしないでしょうか?

    ウイルスチェッカの類などもアプリケーションの実行に影響をおよぼす場合があります。

    そこら辺の問題がないようなら

    ・ディスプレイドライバのバグ
    ・.NET Framework のバグ

    の可能性も検討することになります。

    2011年9月8日 7:22
  • いろいろなご意見ありがとうございます。また、情報が少なすぎて申し訳ありません。

     

    いろいろと調べた結果解決いたしました。

    原因としてはAutoScaleModeの設定と画面プロパティのフォントサイズの設定でした。

    AutoScaleModeをFontにしていて、前開発機のフォントサイズは小、現開発機のフォントサイズが中となっていて、プログラムを移した際フォントやサイズなどが自動的に書き換えられていた中でエラーが発生したものだと思われます。

    なぜそうなったのか、詳しい原因はわかりませんが、エラーはでなくなりました。

    お騒がせしました。

    また何かわかったことがありましたら、書き込ませていただきます。

    2011年9月9日 1:26