Control ActiveX, servidor ActiveX y registro de biblioteca de tipos

Actualizado el Jan 6, 2020

Reportado en

Software

  • Measurement Studio Standard
  • Measurement Studio Professional
  • LabVIEW

Detalles del problema

  • ¿Cómo registro manualmente los controles ActiveX ( .ocx ), los servidores ActiveX ( .DLL y. EXE) y las bibliotecas de tipos ( .TLB ) en mi computadora?
  • Cuando abro una referencia a mi control ActiveX o a mi clase en LabVIEW, recibo el Error -2147221164: Class not registered. ¿Cómo puedo prevenir este error?

Solución

Los controles ActiveX, los servidores y las bibliotecas de tipos (del inglés type libraries) deben registrarse con el sistema operativo antes de poder llamarlos desde LabVIEW.

Controles ActiveX:
Los controles ActiveX son archivos con una extensión .ocx . Estos controles vienen en formas de 16 y 32 bits, siendo los más comunes los de 32 bits. Para registrar un control ActiveX, se debe usar Regsvr32.exe de la siguiente manera:
  1. Seleccionar Start»Run.
  2. Escribir lo siguiente en el cuadro de diálogo que aparece:
    regsvr 32 "<Full path of .ocx file>"
    donde "<Full path of .ocx file>" son las ubicaciones de su control, incluídas las comillas. La imagen de abajo muestra un ejemplo de registro de mswinsck.ocx. Se deberá reemplazar la ruta del archivo ( del inglés file path) y el nombre del control ActiveX que se desea registrar.

    Nota : Si se tiene un control de 16 bits, debe ejecutar (del inglés run) Regsvr en lugar de Regsvr32 . Si el control ActiveX está registrado incorrectamente, primero se debe anular su registro (usando el interruptor /u como parte del comando, es decir, regsvr32 /u "<Full path of .OCX file>" ) y luego registrarlo nuevamente. Se desplegará un cuadro de diálogo que avisa que el control no se ha registrado o se ha registrado correctamente.


    Nota : Si se tiene Windows de 64 bits, hay una versión de Regsrv32 de 32 bits y una de Regsrv32 64 bits . La versión de 64 bits de Regsrv está en la carpeta System32 , mientras que la versión de 32 bits está en la carpeta SysWOW64 . De forma predeterminada, se ejecutará la versión de Regsrv de 64 bits.

Servidores ActiveX
Los servidores ActiveX pueden estar en forma de bibliotecas de enlace dinámico ( .DLLs ) y ejecutables (.EXEs).  Los archivos tipo DLLs se registran como un control ActiveX con regsvr32 como en la sección anterior. Sin embargo, al registrar un. EXE , se debe llamar el archivo .EXE con el switch / RegServer como se describe a continuación:

  1. Seleccionar Start»Run.
  2. Escribir lo siguiente en el cuadro de diálogo que aparece:
    <Full path of the .EXE file> /RegServer donde <Full path of the EXE file> es la ubicación de su servidor .EXE. Por ejemplo:
    C:\TestStand\Bin\REngine.exe /RegServer
    Nota: para anular el registro de un servidor ActiveX .EXE use el switch /UnRegServer . Por ejemplo:
    C:\TestStand\Bin\REngine.exe /UnRegServer

Bibliotecas de tipos
Las bibliotecas de tipos ( .TLB ) son archivos binarios que contienen toda la información de tipo necesaria para utilizar los procedimientos y las clases en un archivo .DLL . Para registrar una biblioteca de tipos, se debe usar regtlibv12.exe (anteriormente regtlib.exe ). Se deben seguir estos pasos para usar regtlibv12.exe :
  1. Navegar a la siguiente carpeta y copiar la ruta del archivo al portapapeles:
    C:\Windows\Microsoft.NET\Framework\v4.0.30319/regtlibv12.exe
    Nota : en algunas situaciones, como en las versiones más recientes de Windows, es posible que no se tenga regtlibv12.exe en el sistema. En ese caso, se puede usar Regasm.exe.
    Nota : la ruta de la carpeta real puede ser diferente según la versión de .NET Framework instalada en la computadora. Ésto también puede estar ubicado en C:\WINDOWS\system32\URTTemp\regtlib.exe
  2. Seleccione Start»Run.
  3. Escribir la ubicación completa de este ejecutable en el cuadro que aparece como:
    C:\Windows\Microsoft.NET\Framework\v4.0.30319\regtlibv12.exe "<Full path of .TLB file>
    donde "<Full path of .TLB file>" es la ubicación del archivo de biblioteca de tipos con citas.
  4. Hacer clic en Ok.

Información adicional

Se puede visitar los artículos de soporte de Microsoft para obtener más información sobre el registro de controles ActiveX . Además se puede encontrar más información sobre Regasm.exe en el sitio web de Microsoft