ActiveX控件、ActiveX服务器和类型库注册

更新 Jun 6, 2023

环境

软件

  • LabVIEW
  • Measurement Studio

  • 如何在我的计算机上手动注册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文件的完整路径>”是控件的位置,包括引号。下图显示了注册mswinsck.ocx的示例。您需要替换要注册的ActiveX控件的文件路径和名称。

    请注意 :如果您有16位控件,则应运行Regsvr而不是Regsvr32 。如果您的ActiveX控件注册不正确,您必须首先取消注册(通过使用switch / u作为命令的一部分,即regsvr32 / u“ <.OCX文件的完整路径>),然后再次注册。您将看到一个对话框,提醒您控件已取消注册或已成功注册。


    请注意 :如果您有64位Windows,则有32位版本的 Regsrv32 和64位版本的 Regsrv32 。 64位版本的 Regsrv位于 System32 文件夹中,而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 )。步骤如下:
  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. 在显示为的框中键入此可执行文件的完整位置:
    C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ regtlibv12.exe “ < .TLB 文件的完整路径>
    其中“.TLB文件的完整路径> ”是带引号的类型库文件的位置。
  4. 单击确定。

    Additional Information

    有关注册ActiveX控件的详细信息,请访问Microsoft支持文章。有关Regasm.exe的更多信息也可以在Microsoft的网站上找到。