Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-11-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
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.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #2  
Antiguo 28-11-2008
jandok238 jandok238 is offline
No confirmado
 
Registrado: ago 2007
Ubicación: ¿ǝɯ dlǝɥ noʎ uɐɔ 'ʍouʞ ʇ,uop ı
Posts: 415
Poder: 0
jandok238 Va por buen camino
una idea interesante ...

pero serian solo para generar reportes ???

bueno... mejor esperamos...


pos ... aki ta un probe ... esperando tus resultados...


salu2!!!!!!!
Responder Con Cita
  #3  
Antiguo 28-11-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
jajjaa
bueno en mi caso es para hacer reportes pero se puede ocupar para cualquier cosa
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #4  
Antiguo 28-11-2008
jandok238 jandok238 is offline
No confirmado
 
Registrado: ago 2007
Ubicación: ¿ǝɯ dlǝɥ noʎ uɐɔ 'ʍouʞ ʇ,uop ı
Posts: 415
Poder: 0
jandok238 Va por buen camino
Cita:
Empezado por AzidRain Ver Mensaje
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 )

salu2!!!!!!!
Responder Con Cita
  #5  
Antiguo 28-11-2008
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
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.
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 28-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por AzidRain Ver Mensaje
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.
Archivos Adjuntos
Tipo de Archivo: zip Test plugIns carga dinamica.zip (3,0 KB, 16 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 28-11-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
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
Responder Con Cita
  #8  
Antiguo 28-11-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.285
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por xEsk Ver Mensaje
...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.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #9  
Antiguo 28-11-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
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.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
El banquero de los pobres Cannabis Humor 4 12-06-2008 18:42:28
Parlar espanyol és de pobres Ñuño Martínez La Taberna 12 26-02-2007 20:20:43
El 'software' libre no es de pobres, sino de inteligentes' marcoszorrilla La Taberna 11 21-02-2007 20:54:37
¿Hace más frío para los pobres? marcoszorrilla Noticias 2 02-12-2005 19:54:09
Plugins saul_montalvo Varios 2 19-08-2003 18:32:49


La franja horaria es GMT +2. Ahora son las 08:20:03.


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
Copyright 1996-2007 Club Delphi