Determinar si un ActiveX esta registrado llamando la siguiente función:
? OcxRegistrado("mscomctl2.monthview.2") && MontView
? OcxRegistrado("mscomctl2.dtpicker.2") && Date Time Picker
? OcxRegistrado("mscomctllib.treectrl.2") && Treeview
? OcxRegistrado("mschart20lib.mschart.2") && Ms Chart
? OcxRegistrado("mscommlib.mscomm.1") && MsComm
FUNCTION OcxRegistrado(cClase)
    Declare Integer RegOpenKey In Win32API ;
        Integer nHKey, String @cSubKey, Integer @nResult
    Declare Integer RegCloseKey In Win32API ;
        Integer nHKey
    nPos = 0
    lEsta = RegOpenKey(-2147483648, cClase, @nPos) = 0
 
    If lEsta
        RegCloseKey(nPos)
    Endif
    Return lEsta
Endfunc
Los archivos OCX tienen una referencia o nombre interno, para averiguar cual es agregamos este a un formulario de VFP, lo seleccionamos y revisamos la propiedad OleClass y ese será el nombre que utilizaremos.Para registrar el OCX puede ser:
1) Directamente desde la opción Run/Ejecutar del botón inicio de Windows:
REGSVR32 <ArchivoOCX>2) Desde Fox con macro de sustitución:
cRun="REGSVR32 <ArchivoOCX>" !&cRun3) Con la rutina de Jorge Mota:
DECLARE INTEGER DLLSelfRegister IN "Vb6stkit.DLL" ; STRING lpDllName =DLLSelfRegister(<ArchivoOCX>)-- REGISTRAR Y DESREGISTRAR UN ARCHIVO OCX O DLL --
http://comunidadvfp.blogspot.com/2002/08/registrar-y-desregistrar-un-archivo-ocx.html
Saludos.
Jesus Caro V
 
 
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.