Tema: FAQ's de VB6
Ver Mensaje Individual
  #192 (permalink)  
Antiguo 24/11/2013, 03:36
Avatar de A.H.H
A.H.H
 
Fecha de Ingreso: mayo-2007
Ubicación: IRUN,(GUIPUZCOA) España
Mensajes: 178
Antigüedad: 17 años, 6 meses
Puntos: 4
Solucion al error: La libreria de objetos no esta registrada.

Solución al error en vb6 que suele dar en windows7 cuando intentas usar un objeto en componentes y lanza el error: "la biblioteca de objetos no esta registrada".

windows7

1. abrir una ventana de CMD con el botón derecho del raton y elegir abrir como administrador, asegurándose que estamos trabajando en system32.

2. escribir dentro de la ventana:

regtlib msdatsrc.tlb

Darle a enter y listo nos saldrá el siguiente mensaje:

Registration of msdatsrc.tlb successful.

Ahora ya queda la librería registrada y podemos usar todos los objetos de vb6 sin ningún problema...

Para la versión de Windows de 64 bits seguir los mismos pasos pero el directorio donde debemos ejecutar el comando es en syswow64

Parece que en algunas versiones de Windows ya no aparece el comando regtlib

Hola de nuevo!
Efectivamente en Windows 8 ya no existe el comando regtlib

puede que funcione esta otra forma de registrar la librería msdatsrc.tlb

1.- Debemos buscar en el equipo donde tenemos ubicado el archivo vb6stkit.dll
depende en que directorio lo tengamos podemos usar las siguientes líneas
de comando bien desde un archivo.bat ejecutantolo como administrador.
Bien abriendo ventana CMD como administrador o ventana ejecutar.

2.los ejemplos de líneas de comando dependiendo de donde tengamos ubicado el
archivo vb6stkit.dll y suponiendo que el archivo msdatsrc.tlb este en system32 podrían ser asi:
Cambiar solamante lo que hay entre comillas por vuestras rutas en el ordenador.
Intentar meter la línea entera de comando como administrador.

rundll32.exe "C:\Windows\SysWOW64\vb6stkit.dll",RegisterTLB "C:\Windows\System32\msdatsrc.tlb"

rundll32.exe "C:\Windows\System32\vb6stkit.dll",RegisterTLB "C:\Windows\System32\msdatsrc.tlb"


nota:
para probar esto cerrar visual basic o cualquier ventana de proyecto visual basic.
Hay que decir que después de ejecutar la línea de comando si no nos da ningún tipo de error entonces abrimos visual basic y probamos ........
si nos da error puede ser que no encuentre algunos de los archivos mencionados. entonces revisar si las rutas a los archivos coinciden......
creo que esta función también podría servir
Public Declare Function RegisterTLB Lib "vb6stkit.dll" (ByVal lpTLBName As String) As Integer

Después llamaríamos a la function con la ruta de donde tuviéramos el archivo msdatsrc.tlb

FUENTE: http://forums.codeguru.com/showthrea...ring-a-TypeLib

Última edición por A.H.H; 09/02/2015 a las 07:56