Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Registrar un ActiveX sin usar regsvr32.exe

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Tips & Tricks
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Registrar un ActiveX sin usar regsvr32.exe Responder citando

Me gustaría saber como puedo registrar un componente ActiveX sin usar regsvr32 en Builder 4. Muchas gracias (lmgguni@terra.es)
Volver arriba
Mensaje    Asunto: Registrar un ActiveX sin usar regsvr32.exe Responder citando

Bueno parece que yo mismo me he resuelto el problema despues de unos dias; aqui esta el codigo tanto para instalar como para desinstalar un ActiveX:

/* Descripción: Función que se utiliza para instalar componentes ActiveX
en el registro de Windows sin necesidad de utilizar REGSVR.EXE.

Necesita: Una variable de tipo LPCTSTR pasada como referencia
constante; dicha variable deberá contener la ruta y el nombre del
componente ActiveX a instalar.

Modifica: El registro de Windows en el caso de que pueda registrar la
susodicha componente.

Devuelve: Una variable booleana indicando si la instalación tuvo
éxito (true) o si se produjo un error (false).

Nota: Esta función también se puede utilizar para instalar librerías
de enlace dinámico, es decir, DLL's. */
bool InstallActiveX (const LPCTSTR &StrOcxName)
{
bool exito=false;

if (OleInitialize(NULL) == S_OK)
{
HINSTANCE hOcx;

hOcx=LoadLibrary(StrOcxName);
if (hOcx != NULL)
{
HRESULT (STDAPICALLTYPE *punt_fun)(void);

(FARPROC&)punt_fun=GetProcAddress(hOcx,"DllRegisterServer");
if (punt_fun != NULL)
{
if ((*punt_fun)() == S_OK)
exito=true;
}
FreeLibrary(hOcx);
}
OleUninitialize();
}
return exito;
}

/* Descripción: Función que se utiliza para desinstalar componentes
ActiveX del registro de Windows sin necesidad de utilizar REGSVR.EXE.

Necesita: Una variable de tipo LPCTSTR pasada como referencia
constante; dicha variable deberá contener la ruta y el nombre del
componente ActiveX a desinstalar.

Modifica: El registro de Windows en el caso de que pueda desinstalar
la susodicha componente.

Devuelve: Una variable booleana indicando si la desinstalación tuvo
éxito (true) o si se produjo un error (false).

Nota: Esta función también se puede utilizar para desinstalar
librerías de enlace dinámico, es decir, DLL's. */
bool UnInstallActiveX (const LPCTSTR &StrOcxName)
{
bool exito=false;

if (OleInitialize(NULL) == S_OK)
{
HINSTANCE hOcx;

hOcx=LoadLibrary(StrOcxName);
if (hOcx != NULL)
{
HRESULT (STDAPICALLTYPE *punt_fun)(void);
(FARPROC&)punt_fun=GetProcAddress(hOcx,"DllUnregisterServer");
if (punt_fun != NULL)
{
if ((*punt_fun)() == S_OK)
exito=true;
}
FreeLibrary(hOcx);
}
OleUninitialize();
}
return exito;
}

Volver arriba
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.