Vista 64ビットのwinformsウィンドウのMFC Active-Xコントロール。 “クラスが登録されていない例外”

StackOverflow https://stackoverflow.com/questions/1807230

質問

winformsウィンドウでホストされているActiveXコントロールのキー処理に関する別のSOポスターの提案を確認しようとして、ベアボーンMFC ActiveXコントロールを作成し、それをWindowsフォームに配置しようとしました。設計時には、コントロールは問題なく表示されました。

アプリケーションを実行すると、恐ろしい「クラス未登録の例外」が発生しました。ダイアログが表示されます。

両方のプロジェクトはVS 2008にあります。Winformsアプリは.Net 3.5フレームワークアプリケーションです。

エクスプローラーからデバッガーで実行しようとしました(どちらの場合も特権が昇格しました)が、何も機能していないようです。 64ビットと32ビットの両方のregsvr32実行可能ファイルでOCXを手動で登録したことも確認しました。

これは 実行されるとは思わないので困惑しています。私は職場で同様の実験(32ビットWindows XPボックス)を問題なく行いました。

私のVS設定は次のとおりです。

  • Microsoft Visual Studio 2008
  • バージョン9.0.30729.1 SP
  • Microsoft .NET Framework
  • バージョン3.5 SP1

    最も紛らわしいのは、ActiveXコントロールが設計時に表示されるように見えることです。回答、提案、考えなどは歓迎します。

役に立ちましたか?

解決

.Netホストの出力を「Any Platform」ではなくx86に変更する必要がありました。これは、アプリケーションがActiveXコントロールがコンパイルされていないx64にJITTEDされているために必要です。ど! ActiveXホストプロジェクトへの変更後、アプリは正常に実行されました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top