Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: asdexiva en 10 Abril 2013, 22:36 pm



Título: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: asdexiva en 10 Abril 2013, 22:36 pm
asi es como dice el asunto se podria hacer que vb6 carge unos ocx desde la carpeta de la aplicacion  :)


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: MCKSys Argentina en 11 Abril 2013, 03:49 am
Si. Antes de usarlos, registralos con regsvr32 y listo.

El tema es que si hay otras aplicaciones que los usan, también usarán los de tu carpeta.

Saludos!


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: cobein en 12 Abril 2013, 16:15 pm
Podes crear un manifest y de esa forma evitar el registro de los componentes, aca te dejo el link de una app para realizar esto.

Código:
http://mmm4vb6.atom5.com/


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: Enemy en 15 Abril 2013, 05:53 am
Hmm mira, yo tengo esto pero aun no lo probe en una maquina que no tenga registrada la DLL, probalo vos y decime si te servio.

Pone esto en un modulo:

Código
  1. Public Declare Function DllRegisterServer Lib "TUDLL.ocx" () As Long

Ahora esto ponelo en el Form_load de tu programa:

Código
  1. Private sub Form_load ()
  2. DllRegisterServer
  3. End sub

En realidad es algo mas completo pero le estuve sacando codigo y eso fue lo que me quedo, donde lo encontre habia tambien para un-register tambien y un par de cosas mas, pero creo que asi debe funcionar. Espero que te sirva.

PD: Yo aun no compilo mi programa y tambien usa librerias propias, me pregunto ahora... como sabe la ruta de la ocx? si alguien nos puede responder...


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: MCKSys Argentina en 15 Abril 2013, 19:56 pm
me pregunto ahora... como sabe la ruta de la ocx? si alguien nos puede responder...

Porque son objetos COM: https://en.wikipedia.org/wiki/Component_Object_Model (https://en.wikipedia.org/wiki/Component_Object_Model)

Por eso hay que "registrarlos".

Saludos!


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: Enemy en 16 Abril 2013, 04:45 am
Si pero mi duda mas que nada era que como reconoce, el dllregisterserver, la ruta del ocx que especifique en el modulo?

En mi caso tengo la ocx suelta en la ruta de mi programa: app.path & "\Miocx.ocx" pero en ningun momento especifique esa ruta en el modulo, ira a servir de todas formas?

Yo lo que quiero saber es, que si con ese codigo, mi programa va a poder iniciar sin necesidad de registrar manualmente la OCX.


Título: Re: forzar VB6 para usar los archivos DLL y OCX desde el directorio de la aplicación
Publicado por: MCKSys Argentina en 16 Abril 2013, 19:56 pm
Para ubicar el OCX, sigue el mismo criterio que cuando busca DLLs. Mas info (sección Remarks): http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/windows/desktop/ms684175(v=vs.85).aspx)

Saludos!