Error con OCX

355 views
Skip to first unread message

Juan Miguel Solis

unread,
Feb 10, 2021, 6:31:00 PM2/10/21
to Comunidad de Visual Foxpro en Español
Hola A todos,

Tengo un problema desde hace unos días y no consigo saber como arreglarlo,, les cuento a ver  si a alguno le ha pasado o ha sabido reconocer el problema.

VFP 6.0 SP5
S.O Windows 10

Bueno el caso es  que tengo un formulario que generaba un fichero, y hace unos días, tuvieron que cambiar el programa de ordenador  a partir de ese momento es formulario que tenia una barra de progreso para saber cuantos registros se estaban copiado, da error al ejecutarse porque buscaba un OCX (pero no me decía cual), como pensé que era la barra de progreso, y al final no fui capaz de arreglarlo, quite la barra de progreso pero ahora cuando termina de generarse se abre una ventana para buscar un OCX (adjunto imagen1.png), y al darle cancelar,, entonces ya me parece el error "Codigo de error OLE 0x80040154: Classnot registred. Se pasara pro alto el objeto OLE. Registro número 6." (adjunto imagen2.png), pero no me dice a que objeto se refiere, como puedo saberlo??, aunque la verdad el único objeto que tenia que era de la clase "Comctl", ya le puse y registre el COMCTL32.OCX en el directorio SysWOW64, incluso como digo al final quite la barra de progreso, pero sigue dando este error.

Con esto estoy un poco desesperado, porque no se como arreglarlo, al final le digo que cancele en la pantalla de búsqueda del OCX (que no se a cual se refiere), y cuando da el error de clase no registrada, le digo que también cancele y el fichero se genera bien, pero
como digo no se como arreglarlo.

Por faro, si a alguien se le ocurre como ver lo que pasa, porque claro en mi ordenador funciona perfectamente.

Gracias anticipadas y un saludo








imagen2.PNG
imagen1.PNG

ZeRoberto

unread,
Feb 10, 2021, 8:36:03 PM2/10/21
to publicesvfoxpro
Yo normalmente tengo los OCX en la carpeta del sistema y verifico si es que estan registrados, por lo que veo a ti te hace falta el comctl32.ocx

Para registrar mis activex utilizo esto

    Procedure Register()
       If !This.IsRegistred("RICHTEXT.RichtextCtrl.1")
           This.DllRegister("richtx32.ocx")
       EndIf
       If !This.IsRegistred("MSComctlLib.TreeCtrl.2")
           This.DllRegister("mscomctl.ocx")
       EndIf
       If !This.IsRegistred("COMCTL.ProgCtrl.1")
           This.DllRegister("comctl32.ocx")
       EndIf
    EndProc
   
    Procedure IsRegistred(tcClassName)
       luResult = RegReadKey("HKEY_CLASSES_ROOT\" + tcClassName + "\", NULL)
       Return !IsNull(luResult)
    EndProc
   
    Procedure DllRegister(tcFileName)
       Declare Integer DllRegisterServer In (tcFileName)
       DllRegisterServer()
       Clear Dlls "DllRegisterServer"
    EndProc

Te recomiendo que uses la barra de progreso de Carlos Alloati que es 100% VFP

Saludos

Ze




--
Visita el Blog de la Comunidad Visual FoxPro en Español: http://comunidadvfp.blogspot.com
---
Has recibido este mensaje porque estás suscrito al grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/3a2af10f-2e2a-419f-a828-fee51ceb8609n%40googlegroups.com.

M.C. Estrada Jr.

unread,
Feb 10, 2021, 8:50:30 PM2/10/21
to publice...@googlegroups.com
hola
el ocx no va en ese dir siswow64 porque es un activex de 32 bits 

va en system32

o en el folder de tu sistema en la pc cliente 

abre una ventana de comandos como administrador y registralo en el folder que desees, debes copiarlo ahi primero 

o simplemente reinstala fox en la pc cliente y luego borra manualmente el folder donde se instala dentro de c:\archivos de programa....
pero NO lo desinstales,  para que se queden copiados y registrados todos los ocx y otras dlls necesarias

o bien 

en la ayuda de fox vienen los ocx con sus nombres los cuales contienen los  controles como la barra de progreso, el treeview, el listview, calendar, etc... 

si sabes como se llaman, entonces podras copiarlos y registralos como te comento arriba

este software te puede ayudar a encontrar los archivos solo indicale parte de su nombre y los buscara en todo el disco duro


saludos 



Zarlu

unread,
Feb 11, 2021, 9:24:28 AM2/11/21
to Comunidad de Visual Foxpro en Español
Buenos días solis.juanmiguel !

Si abres el archivo .scx del formulario como tabla (use ?)  y vas al registro 6 y checas los campos baseclass y objname podrías encontrar el control del problema.
Quizá también tengas una versión diferente del COMCTL32.OCX. Actualizalo y registralo en el directorio SysWOW64. (en mi caso tengo el de fecha 26dic2008)

Porqué en en el directorio SysWOW64??

Suerte
zarlu
Chetumal, Quintana Roo, México

Juan Miguel Solis

unread,
Feb 15, 2021, 12:31:32 PM2/15/21
to publice...@googlegroups.com
Hola Zarlu

Muchas gracias a todos lo que me habeis aportado soluciones.

ahora si que no entiendo nada :, hice lo que me dijiste, el comctl32, ya no da problemas, pero ahora me da en un objeto Combo lo mismo, lo mire como tu me decias, abriendo el scx com un atabla y viendo el registro 6, y el baseclass  es un ComboBox  y objname es  Combosuc, lo quepsas que estos los cojo de una librería mia y no se porque da ese problema de que no esta registrado.

image.png

Como puede verse lo tengo puesto dentro del proyecto.

image.png

Y eso está compilado y se supone que las librerías si están dentro del proyecto se añaden al ejecutable.

Alguna idea mas, que me estoy volviendo un poco loquito :)


Un saludo

Has recibido este mensaje porque estás suscrito a un tema del grupo "Comunidad de Visual Foxpro en Español" de Grupos de Google.
Para cancelar la suscripción a este tema, visita https://groups.google.com/d/topic/publicesvfoxpro/Q8KBJx73HcM/unsubscribe.
Para cancelar la suscripción a este grupo y a todos sus temas, envía un correo electrónico a publicesvfoxp...@googlegroups.com.
Para ver esta conversación en el sitio web, visita https://groups.google.com/d/msgid/publicesvfoxpro/dfd584e8-494d-45fd-861e-b35f8e5a1ee9n%40googlegroups.com.

Zarlu

unread,
Feb 15, 2021, 3:47:11 PM2/15/21
to Comunidad de Visual Foxpro en Español
Buenas tardes solis.juanmiguel !

Dices: "..... hice lo que me dijiste,...". . Qué fue lo que hiciste? con eso se solucionó? Digo..para saber por si a alguien más le sirve la sugerencia.

Y esa clase tuya personalizada no tiene .ocx o .dll ?
La puedes subir para probarla? O elimina temporalmente el combo para ver si sigue fallando?

zarlu
Chetumal, Quintana Roo, México


Reply all
Reply to author
Forward
0 new messages