tengo un proyecto elaborado en visual basic 6 sp6 funcionando sin ningun
problema bajo windows xp.
he instalado tambien windows vista para probar la compatibilidad con el
nuevo sistema operativo y me he encontrado con varios errores, pero los he
podido ir solucionando, con exepcion del sigiuente:
bajo windows vista, abro vb6sp6 sin problemas, pero al intentar abrir mi
proyecto me manda el error "la biblioteca de objetos no esta registrada"
Posteriormente "errores de carga" consulte forma.log para ver los detalles, y
cuando abro el archivo.log para ver el error me pone lo siguiente:
Línea 3:no se puede crear la referencia:
'{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0'.
Línea 4:no se puede crear la referencia:
'{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0'.
Línea 384: la clase MSComctlLib.ListView del control lv_pend no era una
clase de control cargada.
Línea 625: la clase MSMask.MaskEdBox del control bf_totpag no era una clase
de control cargada.
Línea 649: la clase MSComctlLib.ListView del control lv_remi no era una
clase de control cargada.
Línea 701: la clase MSMask.MaskEdBox del control MaskEdBox1 no era una clase
de control cargada.
Línea 725: la clase MSMask.MaskEdBox del control bf_cambio no era una clase
de control cargada.
Línea 749: la clase MSMask.MaskEdBox del control bf_impo no era una clase de
control cargada.
Línea 390: el nombre de la propiedad _ExtentX de lv_pend no es válido.
Línea 391: el nombre de la propiedad _ExtentY de lv_pend no es válido.
Línea 392: el nombre de la propiedad View de lv_pend no es válido.
y muchas lineas mas parecidas a estas ultimas....
me voy al menu proyecto- componentes y aparece seleccionado el control
microsoft windows common controls 5.0 (sp2), pero el componente microsoft
windows common controls 6.0 (sp6) aparece sin seleccionar, y si intento
seleccionarlo, al aplicar el cambio me pone la misma leyenda "la biblioteca
de objetos no esta registrada"
ya intente ejecutando "regsvr32 mscomctl.ocx" y aparentemente registra la
libreria correctamente, ya que me pone un mensaje diciendo "DllRegisterServer
se realizo correctamente en mscomctl.ocx"
intento nuevamente agregar el control y me da el mismo error. me di cuenta
tambien que un listview que tenia en una de mis formas lo cambia a picturebox
y por consigiuente al intentar ejecutar la aplicacion me envia errores en
dicho control.
cabe mencionar que tengo instalado en el equipo crystal reports 8 (que por
cierto ya le corri una actualizacion lllamada scr8_webregfix por que no me
dejaba entrar al menu proyecto-referencias de vb6 en vista)
espero puedan ayudarme, ya que necesito programar desde un equipo con
windows vista y hasta el momento no lo he podido hacer.
Gracias de antemano por el tiempo y espero puedan apoyarme.
Saludos Cordiales
Wilson
Este es el guid de la typelib que describe unos cuantos controles
comunes (tabstrip, imagelist, etc., etc.) y que reside en...
C:\ARCHIVOS DE PROGRAMA\DSNET CORP\YOUTUBE CATCHER 1.0 RC1\MSCOMCTL.OCX
"Mi" mscomctl.ocx 6.00.8862 1042KB del 22 de septiembre del 2000, existe
sólo para el filesystem (en la carpeta de sistema del so), pero para el
motor de COM, lo que no está en el registro no existe.
>LÃnea 4:no se puede crear la referencia:
>'{C932BA88-4374-101B-A56C-00AA003668DC}#1.1#0'.
Esta es la typelib del HKCR\CLSID\{C932BA85-4374-101B-A56C-00AA003668DC}
cuyo valor por default es "Microsoft Masked Edit Control, version 6.0" y
residen en la carpeta del sistema como MSMASK32.OCX
Digo, por qué no le pegás un vistazo al registro y tratás de entender
que diablos está pasando.
Como ves, cualquier programejo de cuarta te modifica el sistema sin
decir agua va.
Busca la entrada en HKCR\Typelib\{83... y mira el contenido de
\2.0\0\win32. Abre el explorer y busca el ocx en el path que leiste del
registro.
Si lo encuentras allí mismo, entonces no parece ser un problema de
registro. Tal vez sea uno de permisos o cualquier otra cosa.
Si no está, entonces ese es el problema y deberías registrar nuevamente
el ocx.
Antes de registrar el ocx, te convendría eliminar todo rastro
anterior del registro. Regsrv32 lo hace (creo que con /u o invocando a
DllUnregisterServer() a través de rundll32) o puedes hacerlo manualmente
(aunque como bien dices hay un montón de claves apuntando al ocx, esta
es solamente la typelib). O usa un programa de tipo regclean...
Digo, puede estar sucediendo que DllRegisterServer() de por bueno lo que
ya hay en el registro (porque el ocx que intentas registrar es más
antiguo que el ya registrado) y salga sin error...
Paciencia.
espero comentarios y saludos
TENES QUE INSTALAR CON EL LOGIN DEL ADMINISTRADOR
Saludos
Waldo