Discussion:
no puedo agregar el control mscomctl a vb6 en vista
(demasiado antiguo para responder)
Wilson
2007-12-04 06:48:00 UTC
Hola foro! espero puedan ayudarme con esto:

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
Hernán
2007-12-04 11:53:15 UTC
Post by Wilson
'{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0'.
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.
Post by Wilson
'{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.
Wilson
2007-12-04 19:09:01 UTC
Gracias por responder.
no tengo conocimiento de como funciona el registro y que claves debe tener o
no debe tener, abri el regedit y busque los siguientes textos:
831FDD16-0C5C-11D2-A9FC-0000F8754DA1
MSCOMCTL.OCX
y si los encuentro en muchas entradas de registro, pero no se cual sea la
que falte, ya que aparece un sin fin de veces dentro de varias calves de
HKCR\CLSID\
no tengo idea en que lugar este el problema y no se por donde buscar
espero comentarios..
saludos
wilson
Post by Hernán
Post by Wilson
'{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0'.
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.
Post by Wilson
'{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.
Hernán
2007-12-04 20:43:40 UTC
Post by Wilson
Gracias por responder.
no tengo conocimiento de como funciona el registro y que claves debe tener o
831FDD16-0C5C-11D2-A9FC-0000F8754DA1
MSCOMCTL.OCX
y si los encuentro en muchas entradas de registro, pero no se cual sea la
que falte, ya que aparece un sin fin de veces dentro de varias calves de
HKCR\CLSID\
no tengo idea en que lugar este el problema y no se por donde buscar
espero comentarios..
saludos
wilson
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.
Wilson
2007-12-05 02:30:04 UTC
Intenté desinstalando el visual y lo reinstalé sin problema y al aplicar el
sp6, me envio un error al intentar registrar un archivo llamado msstdfmt.dll,
lo intente registrar manualmente y me mando un error 0x8002801c y sigo
teniendo el mismo problema con el control mscomctl.
ya me fije en el registro
Post by Hernán
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.
el ocx esta donde lo indica el registro, dentro de system32.
quiza si tengas razon al pensar que es problema de permisos,
recuerda q tengo windows vista ultimate y mi cuenta es tipo administrador
estare auditando con un programa llamado proccess monitor para ver q clave
me esta bloqueando o denegando acceso, a no ser q tengas otra sugerencia
saludos
Post by Hernán
Post by Wilson
Gracias por responder.
no tengo conocimiento de como funciona el registro y que claves debe tener o
831FDD16-0C5C-11D2-A9FC-0000F8754DA1
MSCOMCTL.OCX
y si los encuentro en muchas entradas de registro, pero no se cual sea la
que falte, ya que aparece un sin fin de veces dentro de varias calves de
HKCR\CLSID\
no tengo idea en que lugar este el problema y no se por donde buscar
espero comentarios..
saludos
wilson
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.
Wilson
2007-12-05 04:05:00 UTC
Encontre lo siguiente:
1145224 09:25:56.1757570
p.m. vb6.exe 4904 RegOpenKey HKCR\TypeLib\{6B263850-900B-11D0-9484-00A0C91110ED}\1.0\0\win32 ACCESS DENIED Desired Access: Read
trato de explorar en el regedit esta clave y le doy clic en permisos y trato
de cambiar el propietario al grupo administradores o a mi usuario y me dice
que no se ha podido cambiar el propietario en la clave o alguna de sus
subclaves, de hecho no veo la ultima clave llamada win32
esta clave esta referenciada en el proyecto de visual .vbp como sigue
Reference=*\G{6B263850-900B-11D0-9484-00A0C91110ED}#1.0#0#C:\WINDOWS\system32\MSSTDFMT.DLL#Microsoft Data Formatting Object Library
que por cierto es el archivo que no me dejó registrar en el comentario pasado

espero comentarios y saludos
_Waldo_
2007-12-05 17:14:55 UTC
Tene en cuenta que segun los comentarios que se fueron dando, TENES QUE SER
ADMINISTRADOR,
Osea no usuario PEPE con jerarquia ADMINISTRADOR.

TENES QUE INSTALAR CON EL LOGIN DEL ADMINISTRADOR

Saludos

Waldo
Wilson
2007-12-05 17:58:00 UTC
cielos, como inicio sesion con el usuario administrador en windows vista?
Post by _Waldo_
Tene en cuenta que segun los comentarios que se fueron dando, TENES QUE SER
ADMINISTRADOR,
Osea no usuario PEPE con jerarquia ADMINISTRADOR.
TENES QUE INSTALAR CON EL LOGIN DEL ADMINISTRADOR
Saludos
Waldo
_Waldo_
2007-12-05 21:07:43 UTC
No es necesario iniciar sesion como administrador, pero para instalar el vb
o sp, click con el boton derecho sobre setup.exe, elegi Run AS... o ejecutar
como... y ahi poné los datos de login del administrador.
m***@gmail.com
2014-02-24 14:56:25 UTC
A parte registrar las DLL lo que yo hice fue agregar en el proyecto de visual basic en Project>Components> en la pestaña de Controls hacer click en Browse y de la carpeta de system32 seleccionar el archivo MSCOMCTL.OCX y aplicar, para quee quede referenciado en el proyecto.

Espero sirva de algo.

Saludos.