Page 1 of 1

Registrar un ActiveX

Posted: Fri Mar 28, 2025 2:17 pm
by russimicro
Buen dia...

Estoy usando un activex de chilkat , y ya la tengo funcionando en desarrollo, activándola con un .bat asi :

registraActivex.bat

@echo off
echo.Current User is '%USERNAME%'
cd %~dp0
set "filemask=ChilkatAx*.dll"
for %%A in (%filemask%) do %systemroot%\syswow64\regsvr32 %%A || GOTO:EOF
ECHO.&PAUSE&GOTO:EOF

Es posible registrarla o cargarla en fivewin + xharbour directamente, para no tener que ejecutar el registraActivex.bat en cada cliente final.

JONSSON RUSSI
Gracias

Re: Registrar un ActiveX

Posted: Fri Mar 28, 2025 2:39 pm
by karinha

Code: Select all | Expand

#include "FiveWin.ch"

FUNCTION Main()

   MYRUN( "/N Regsvr32 /s BARCODE.OCX" ) // TU .OCX

   // O,

   // Regsvr32 /s BARCODE.OCX

RETURN NIL

FUNCTION MYRUN( cComando )

   LOCAL oShell, RET, lOk:=.T.

   TRY
      #IFDEF __XHARBOUR__
         oShell := CreateObject( "WScript.Shell" )
      #ELSE
         oShell := Win_OleCreateObject( "WScript.Shell" )
      #ENDIF

   CATCH

      TRY
         #IFDEF __XHARBOUR__
            oShell := CreateObject( "WScript.Shell" )
         #ELSE
            oShell := Win_OleCreateObject( "WScript.Shell" )
         #ENDIF

      CATCH

         lOk:=.F.

        END
   END

   IF lOk

      TRY

          //.F. = Nao espera a aplicacao fechar, .T. espera.
          oShell:Run( "%comspec% /c " + cComando, 0, .T. ) 

      CATCH

          lOk:=.F.

      END

      oShell := NIL

   ENDIF

   //--   RET := oShell:Run( "%comspec% /c " + cComando, 0)  //, .T. )

RETURN( lOk )

// FIN / END

/* // OCX.BAT
copy NombreOCX.ocx %SystemRoot%\system32\NombreOCX.ocx

regsvr32.exe  /s NombreOCX.o

@echo off

IF EXIST %WinDir%\system\barcode.ocx goto ERRO

:MAIN

cls
echo Voce vai instalar barcode.ocx em seu sistema.
echo.
echo ATENÇÃO:
echo 
echo 
echo Pressione Ctrl+C para Cancelar, Enter para continuar
pause > Nul

echo.
echo Copiando arquivo...
copy barcode.ocx %WinDir%\system


echo.
echo Registrando arquivo...
cd %WinDir%\system
regsvr32/s barcode.ocx 

echo.
echo barcode.ocx   foi instalado no seu computador!
echo.
echo Agora, abra o access e veja em ActiveX Controles 


goto END

:ERRO
echo.
echo.
echo.
echo barcode.ocx , ja encontra-se instalado no seu computador.
echo.

goto END

:END
*/

Regards, saludos

Re: Registrar un ActiveX

Posted: Fri Mar 28, 2025 3:21 pm
by russimicro
Gracias... la idea es no generar un run, sino algo asi :

Code: Select all | Expand

 
     local hBorland := LoadLibrary( "BWCC.dll" )
     SET RESOURCES TO "autolay.dll"                  // Personal DLL
pero no se si aplica a cualquier dll

asi se usa con activex registrado desde windows...

loDt := CreateObject('Chilkat.CkDateTime')

lnSuccess := loDt:SetFromCurrentSystemTime()

Re: Registrar un ActiveX

Posted: Fri Mar 28, 2025 3:52 pm
by cmsoft
Tambien podrias llamar a las funciones con CallDll32
Algo asi

Code: Select all | Expand

CallDll32( "OpenComFiscal" , "WINFIS32.DLL" , nPort , 1 )
Tendrias que identificar cada funcion de la dll y sus parametros para saber que enviar y que recibir en cada caso

Re: Registrar un ActiveX

Posted: Fri Mar 28, 2025 4:04 pm
by karinha