none
VC++で作成したOCX(64bit版)をVB.NET(64bit版)で参照できない RRS feed

  • 質問

  • お世話になっております。

    以下の環境で開発を行っているのですが、VC++で作成したOCXをVBで参照出来なく困っています。

    [環境]
    ・Windows7(64bit版)
    ・VisualStudio2010
    ・VC++(OCX作成)
    ・VB.NET(アプリ作成)

    [参照手順]
    ①VC++で64bit版OCXを作成
      ・構成マネージャーのアクティブソリューションプラットフォームで「x64」を指定
      ・プロジェクトの「プロパティ」-「構成プロパティ」-「MIDL」-「全般」-「ターゲット環境」で
       Microsoft Windows x64の64ビット(/env x64)を指定
    ②①で作成したOCXをC\Windows\System32\cmd.exe(64bit版)を管理者で起動し、
     レジストリに登録
      ⇒regsvr32 OCX名(フルパス)
    ③VB.NETのアプリでプロジェクトの「プロパティ」-「参照」-「追加」ボタン-「COM」タブを選択するが表示されない


    32bit版で作成したOCXを同様の手順でレジストリに登録を行うと、「COM」タブに表示されます。

    以前、似ような質問を拝見した事があるのですが、解決には至りませんでした。

    どのようにすれば参照出来るのかご教示頂けると助かります。
    宜しくお願い致します。

    2011年9月27日 9:44

回答

  • Visual Studio の IDE が 32bit プロセスなので、x64 の OCX をその画面から参照することはできなかったと思います。
    従って、その参照設定追加ダイアログの COM タブを利用しない方法にチャレンジすることが必要になります。

    過去のスレッド を参考にチャレンジしていただきたいと考えています。
    もし、これらを見ていた上で解決できなかったのであれば、どのように試して、どのようにだめだったかを記載してください。

    # もしかしたら、aximp.exe 側じゃないとだめかも。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク kcsy 2011年9月29日 0:34
    2011年9月27日 14:25
    モデレータ

すべての返信

  • Visual Studio の IDE が 32bit プロセスなので、x64 の OCX をその画面から参照することはできなかったと思います。
    従って、その参照設定追加ダイアログの COM タブを利用しない方法にチャレンジすることが必要になります。

    過去のスレッド を参考にチャレンジしていただきたいと考えています。
    もし、これらを見ていた上で解決できなかったのであれば、どのように試して、どのようにだめだったかを記載してください。

    # もしかしたら、aximp.exe 側じゃないとだめかも。


    質問スレッドで解決した場合は、解決の参考になった投稿に対して「回答としてマーク」のボタンを押すことで、同じ問題に遭遇した別のユーザが役立つ投稿を見つけやすくなります。
    • 回答としてマーク kcsy 2011年9月29日 0:34
    2011年9月27日 14:25
    モデレータ
  • Azulean様

    ご回答ありがとうございます。

    教えて頂いた過去のスレッドを参照し、解決する事が出来ました。

    (OCXを64bit版、32bit版の両方を作成し、64bit版OCXを64bit版のregsvr32で32bit版OCXを32bit版のregsvr32で登録したところ問題なく動作致しました)

     

    本当にありがとうございました。

    2011年9月29日 0:34