ActiveXコントロール、ActiveXサーバ、およびタイプライブラリを登録する

更新しました Nov 16, 2018

使用製品

Software

  • Measurement Studio Standard
  • Measurement Studio Professional
  • LabVIEW

問題

  • コンピュータに手動でActiveXコントロール(.ocx)、ActiveXサーバ (.DLL.EXE)、およびタイプライブラリ (.TLB) を登録するにはどうすればよいですか?
  • LabVIEWでActiveXコントロールまたはクラスへの参照を開く際、エラー -2147221164: クラスが登録されていませんが発生します。このエラーを防ぐにはどうしたらいいですか?

解決策

ActiveXコントロール、サーバ、およびタイプライブラリは、LabVIEWから呼び出す前に、オペレーティングシステムに登録する必要があります。

ActiveXコントロール:
ActiveXコントロールは、.ocxという拡張子のファイルです。これらのコントロールは、16ビットと32ビットの形式があり、一般的には32ビットがほとんどです。ActiveXコントロールを登録するには、以下のようにRegsvr32.exeを使用する必要があります。
  1. スタート>>ファイル名を指定して実行を選択します。
  2. 表示されたダイアログボックスで以下のように入力します。
    regsvr 32 "<.ocxファイルの絶対パス>"
    ここで "<.ocxファイルの絶対パス>" とは、ActiveXコントロールある場所のことでダブル引用符を前後に含めます。下図は、mswinsck.ocxを登録する例を示しています。登録したいActiveXコントロールのファイルパスと名前に変更する必要があります。


     

    メモ: 16ビット形式コントロールの場合は、Regsvr32の代わりにRegsvrを実行する必要があります。ActiveXコントロールが正しく登録されない場合は、まずコマンドの一部としてスイッチ/u (regsvr32 /u "<.OCXファイルの絶対パス>")で登録解除してから、再度登録する必要があります。コントロールが登録されていないか正常に登録されたことを知らせるダイアログボックスが表示されます。



    メモ: 64ビットWindowsの場合、32ビット版のRegsrv32と64ビット版のRegsrvがあります。64ビット版のRegsrvSystem32フォルダ内にあり、32ビット版はSysWOW64フォルダ内にあります。デフォルトでは、64ビット版のRegsrvが実行します。
 

ActiveXサーバ:
ActiveXサーバは、ダイナミックリンクライブラリ形式(.DLL)、もしくは実行形式(.EXE)です。DLLは、regsvr32を用いてActiveXコントロールを登録したように登録します。しかし、.EXEを登録する際は、スイッチ/RegServerを使用して.EXEファイルを呼び出す必要があります。

  1. スタート>>ファイル名を指定して実行を選択します。
  2. 表示されたダイアログボックスで以下のように入力します。
    <.EXEファイルの絶対パス> /RegServer 
    ここで<.EXEファイルの絶対パス>とは、.EXEサーバのある場所のことです。たとえば、以下のとおりです。
    C:\TestStand\Bin\REngine.exe /RegServer
    メモ: .EXE ActiveXサーバを登録解除するには、/UnRegServerを使用します。たとえば、以下のとおりです。
    C:\TestStand\Bin\REngine.exe /UnRegServer

タイプライブラリ:
タイプライブラリ(.TLB)は、.DLLでプロシージャやクラスを利用するために必要なすべてのタイプ情報が含まれているバイナリファイルです。タイプライブラリを登録するには、regtlibv12.exe(以前はregtlib.exe)を使用する必要があります。regtlibv12.exeを使用する手順は以下のとおりです。
  1. 下記のファイル名を含むパスをクリップボードにコピーします
    C:\Windows\Microsoft.NET\Framework\v4.0.30319/regtlibv12.exe
    メモ: Windowsのバージョンが新しいようないくつかの状況では、コンピュータにregtlibv12.exeが存在しない場合があります。regtlibv12.exeが存在しない場合は、代わりにRegasm.exeを使用します。
    メモ : 実際のフォルダパスは、コンピュータにインストールされている.NET Frameworkのバージョンによって異なる場合があります。これは、次の場所である場合もあります。
    C:\WINDOWS\system32\URTTemp\regtlib.exe
  2. スタート>>ファイル名を指定して実行を選択します。
  3. 入力欄に実行ファイルの絶対パスを貼り付け、その後に.TLBファイルのパスを入力します。
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe "<.TLBファイルの絶対パス>" 
    ここで "<.TLBファイルの絶対パス>"とは、タイプライブラリのある場所のことで、ダブル引用符を前後に含めます。
  4. OKをクリックします。

追加情報

ActiveXコントロールの登録と登録および登録解除の詳細については、Microsoftサポートの記事を参照してください。
Regasm.exeの詳細については、マイクロソフトのWebサイトを参照してください。

この記事はお役に立ちましたか?

いいえ