Ver Mensaje Individual
  #9  
Antiguo 29-05-2006
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.295
Reputación: 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 dec
Si hubiera estado escrito en Delphi y hubiera querido cumplir ese mismo objetivo, tendría igualmente que haber utilizado archivos DLL
Correcto; esa es la premisa, para seleccionar DLL o BPL.

Aprovechando éste hilo, y puesto que hace tiempo que lo tenía pendiente, he generado un ejemplo sencillo de cómo utilizar plug-ins desde Delphi (con BPL's) en éste caso, aunque es muy similar a cómo se haría utilizando DLL (LoadLibrary/LoadPackage y UnloadLibrary/UnloadPackage).
Espero ir ampliándolo; Pensad que sólo tiene lo más básico y si encuentro el tiempo necesario, iré ampliándolo, ya que tengo un artículo pendiente sobre éste tema.

En éste caso se trata de un ejecutable principal y dos plug-ins muy tontos;
* PlugTest
* Plug_v1
* Plug_v2

Si al arrancar el programa principal, los plug-ins se encuentran en el directorio destinado para ellos, se encuentran y se añaden a un menú de plug-ins.
En el momento de ejecutarlos se cargan en memoria, ejecutan su función y se descargan.
Hay unas mínimas premisas a cumplir:
* La aplicación principal debe compilar con packages dinámicos.
* Los plug-ins deben tener el nombre/Clase del form principal, iguales (FormMainPlug: TFormMainPlug).
* La estructura de la función Execute de los plugins debe ser como se muestra en éstos y estar definida en la parte published.

Por supuesto, el ejemplo está abierto a cualquiera que quiera modificarlo/mejorarlo/comentarlo/...

Un saludo.
__________________
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.

Última edición por Neftali [Germán.Estévez] fecha: 30-05-2007 a las 14:17:44.
Responder Con Cita