Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Plugins pa' pobres (https://www.clubdelphi.com/foros/showthread.php?t=61958)

AzidRain 28-11-2008 02:06:38

Plugins pa' pobres
 
Me surgió la necesidad de integrar algunas funciones adicionales, concretamente reportes, a un programa que ya está en producción y me puse a pensar en plugins, ya en los foros se trató algo y de ahí de lo que encontré en internet diseñé una forma sencilla de incluirlos en proyectos de delphi con las siguientes condiciones:

El plugin no utiliza información de la aplicación host (si acaso le pasamos una conxión de BD)
El plugin se comporta como un pseudoprograma independiente de la aplicación principal.
El plugin se incluye en alguna parte del menú de la aplicación principal.

Revisé la opción de usar BPL's pero entonces tendriamos que meter una serie de BPLS bastante grande y ademàs compilar el programa con esta opción con lo que ya no se me hizo interesante, mi solución se basa en DLLS y seguir ciertas convenciones para incorporarlas en nuestro programa.

Denme oportunidad de maquillar un poco el código y antes del lunes les posteo como lo imaginé y lo hice, y lejos de si es o no lo más "elegante" es una opción que funciona y hace lo que uno requiere.

jandok238 28-11-2008 03:16:40

una idea interesante ...:cool::cool:

pero serian solo para generar reportes ???

bueno... mejor esperamos...


pos ... aki ta un probe ... :p;):D:D esperando tus resultados... :D:D


salu2!!!!!!!

AzidRain 28-11-2008 03:24:27

jajjaa
bueno en mi caso es para hacer reportes pero se puede ocupar para cualquier cosa

jandok238 28-11-2008 03:26:53

Cita:

Empezado por AzidRain (Mensaje 328523)
jajjaa
bueno en mi caso es para hacer reportes pero se puede ocupar para cualquier cosa


ok

por eso digo.. hay que esperar... y ver como le podemos dar uso ...
(por que si lo vamos a poder usar no :confused::confused:) ;):D:D

salu2!!!!!!!

mamcx 28-11-2008 03:38:40

Pues la forma sencilla y probada:

Aplicaciones de linea de comandos, y encadenamiento tipo PIPE:

plugin1.exe -t Titulo -o Opcion >plugin2.exe >info.txt

o redireccionando el I/O a la misma app que llama.

Neftali [Germán.Estévez] 28-11-2008 10:45:10

1 Archivos Adjunto(s)
Cita:

Empezado por AzidRain (Mensaje 328517)
Revisé la opción de usar BPL's pero entonces tendriamos que meter una serie de BPLS bastante grande y ademàs compilar el programa con esta opción con lo que ya no se me hizo interesante, mi solución se basa en DLLS y seguir ciertas convenciones para incorporarlas en nuestro programa.

No acabo de entender porque descartas la opción de las BPL's. Piensa que cualquier cosa que puedas hacer con DLL's se puede hacer (más potente aun) con BPL's.

Me parece entender (por eso lo desestimas) que para usar las BPL's como plugins debes compilar el prograna con packages y no es así. Puedes compilar tu programa sin runtime packages y luego utilizar BPL's cargadas dinámicamente (igual que lo haces con las DLL's) utilizando LoadPackage (en lugar de LoadLibrary).

Te subo un ejempillo que tal vez aclare lo que quiero explicar.

xEsk 28-11-2008 13:48:57

Cita:

Empezado por Neftali (Mensaje 328542)
No acabo de entender porque descartas la opción de las BPL's. Piensa que cualquier cosa que puedas hacer con DLL's se puede hacer (más potente aun) con BPL's.

Me parece entender (por eso lo desestimas) que para usar las BPL's como plugins debes compilar el prograna con packages y no es así. Puedes compilar tu programa sin runtime packages y luego utilizar BPL's cargadas dinámicamente (igual que lo haces con las DLL's) utilizando LoadPackage (en lugar de LoadLibrary).

Te subo un ejempillo que tal vez aclare lo que quiero explicar.

Hablo desde la ignorancia, pero me da la sensación que si usas los BPL en lugar de las DLL, te limitas solo a poder crear extensiones con Delphi, y pierdes las ventajas de "combinar" varios lenguajes de programación. A no ser que se puedan crear BPLs sin usar Delphi, cosa que dudo...

Saludos

Neftali [Germán.Estévez] 28-11-2008 14:16:10

Cita:

Empezado por xEsk (Mensaje 328564)
...me da la sensación que si usas los BPL en lugar de las DLL, te limitas solo a poder crear extensiones con Delphi

Ok. Eso digamos que lo di por supuesto.
Las BPL's (siempre que nos limitemos a Delphi) ofrecen lo mismo que las DLL's y un poco más.
De todas formas no sería muy complejo contemplar ambas posibilidades.

AzidRain 28-11-2008 19:48:37

Efectivamente Neftalí, de hecho leì por ahi material tuyo al respecto antes de decidir a hacer un miniframework para trabajar con plugins, la razon quizá mas importante para no usar BPLs ademàs de las que ya comenté es que con DLLs puedo hacer los plugins en cualquier lenguaje siempre que cumpla con los requerimientos del framework. Es interesante sin embargo la opción de que se pudieran usar tanto dlls como bpls. Pero bueno, denme chance de terminar el primer paso y ya luego si quieren entre todos los pulimos.


La franja horaria es GMT +2. Ahora son las 00:25:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi