1

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

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

どちらのプロジェクトも VS 2008 です。Winforms アプリは .Net 3.5 フレームワーク アプリケーションです。

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

これが実行されないとは思っていなかったので、これは私を困惑させました。私は職場 (32 ビット Windows XP ボックス) で同様の実験を行いましたが、問題はありませんでした。

私のVS構成は次のとおりです。

  • マイクロソフト ビジュアル スタジオ 2008

  • バージョン 9.0.30729.1 SP

  • マイクロソフト .NET フレームワーク

  • バージョン 3.5 SP1

    最も紛らわしい点は、ActiveX コントロールが設計時に表示されるように見えることです。回答、提案、または考えをいただければ幸いです。

4

1 に答える 1

1

.Net ホストの出力を「任意のプラットフォーム」ではなく x86 に変更する必要がありました。これは、アプリケーションが ActiveX コントロールがコンパイルされていない x64 に JITTED されているために必要です。ああ!ActiveX ホスト プロジェクトに変更した後、アプリは問題なく動作しました。

于 2009-11-28T20:05:40.913 に答える