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-05-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Desarrollo con futuro plugins

Buenas gente !
Estoy desarrollando un programita, pero quisiera en un futuro poder agregarle plugins o addons.... no tengo idea ni por donde empezar !

Se requieren
IDEAS, OPINIONES, SUGERENCIAS, ANECTODAS, COMENTARIOS, etceteras, etceteras, etceteras


Se agradece
__________________
Moment of chaos....
Responder Con Cita
  #2  
Antiguo 28-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Por mi parte te diría que echaras un vistazo a la Jedi Library. Incluye componentes que son capaces de manejar "plugins" y también para crearlos, propiamente. Lo que te digo es que al menos puedes ver cómo se implementa ahí el asunto, por si puedes sacar algunas ideas o, directamente, hacer uso de los mencionados componentes.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
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.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
Otra opción es que revises documentaciónsobre packages dinámicos; Es una buena opción que trae delphi para generar un sistema de plug-ins.
__________________
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
  #4  
Antiguo 29-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Así debe ser Neftalí. De hecho los componentes que digo de la Jedi Library permiten dos formas de trabajo: los Plugins se situarán en archivos "DLL", o también pueden situarse en "paquetes dinámicos" de Delphi.

Yo la verdad es que no estoy muy puesto en estas cosas. Sin embargo, he echado un vistazo al código de los componentes que menciono y creo que pueden resultar útiles cuando menos para coger alguna que otra idea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
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.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
En general, para trabajar desde Delphi, creo que siempre es mejor trabajar con BPL's, ya que son más potentes que las DLL's; en realidad son como una extensión de éstas. Si se quiere un fichero que se pueda llamar desde otro tipo de aplicaciones, es ese caso se debe uno decantar por las DLL's, ya que las BPL's no podrán llamarse desde otro tipo de programa.
__________________
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
  #6  
Antiguo 29-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Neftalí
Si se quiere un fichero que se pueda llamar desde otro tipo de aplicaciones, es ese caso se debe uno decantar por las DLL's (...)
También está el caso de que tu aplicación, escrita en Delphi, quiera admitir Plugins escritos en otros lenguajes de programación. Aquí también vendría bien utilizar "DLL", no porque estas fueran utilizadas por programas no escritos en Delphi (tu aplicación está escrita en Delphi), sino para que puedan llevarse a cabo Plugins con otros lenguajes de programación.

Un ejemplo de esto puede ser el programa Neobook, de NeoSoftware. El programa está escrito en C++, si no me equivoco, aunque se comentaba que pudiera estar escrito en Delphi. Bueno. Lo importante para lo que nos ocupa es que dicho programa proporciona un "SDK" y un "API" que es accesible desde varios lenguajes de programación: C++, Delphi, Visual Basic.

Lo que uno genera en definitiva cuando crea un Plugin para Neobook es una DLL, la cual se encarga de leer y hacer lo que tenga que hacer con ella el programa Neobook. A este le da igual si la DLL está escrita en Delphi, en C++ o en Visual Basic.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
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.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 dec
El programa está escrito en C++, si no me equivoco, aunque se comentaba que pudiera estar escrito en Delphi.
Parece que no está escrito en Delphi. 1 y 2.
__________________
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
  #8  
Antiguo 29-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Ciertamente Neftalí. Queda claro que está escrito con Microsoft Visual C++. En todo caso lo que quería yo decir sigue siendo válido: es un programa escrito en Microsoft Visual C++ que admite Plugins escritos en Visual C++, en Delphi, en Visual Basic y en Power Basic, si no me equivoco.

Si hubiera estado escrito en Delphi y hubiera querido cumplir ese mismo objetivo, tendría igualmente que haber utilizado archivos DLL, Plugins contenidos en DLL. Ahora bien, que con esto no estoy diciendo nada en contra de los "paquetes dinámicos" de Delphi, ni mucho menos. Entiéndase bien.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #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.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 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
  #10  
Antiguo 29-05-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Neftalí
Correcto; esa es la premisa, para seleccionar DLL o BPL.
Bueno, tal vez sea una de ellas. Otra pudiera ser la que tú mismo has indicado:

Cita:
Empezado por Neftalí
En general, para trabajar desde Delphi, creo que siempre es mejor trabajar con BPL's, ya que son más potentes que las DLL's; en realidad son como una extensión de éstas.
Respecto del ejemplo que adjunas ya está aquí y le echaremos un vistazo, que seguro que resulta curioso.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #11  
Antiguo 29-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Aunque no tenga mucho que ver con el tema del hilo, solo decir que Neobook si que esta echo en delphi. El Timestamp de NBPlay5.exe, NeoBook.exe y NBDebug.dll se corresponde con la marca que utiliza el compilador de delphi, lo que pasa es que parece que estan comprimidos o protegidos por algun otro software que si que esta echo en Visual C++. El metodo del Timestamp es el mas fiable para identificar un ejecutable echo con delphi ya que la mayoria de compresores no modifican el Timestamp del ejecutable.
Responder Con Cita
  #12  
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.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 seoane
Lo que pasa es que parece que estan comprimidos o protegidos por algun otro software que si que esta echo en Visual C++.
Las DLL's están comprimidas con ASProtect/ASPack y el ejecutable con Armadillo; Normalmente cuando se detecta la versión del compresor/encriptador ya se tiene en cuenta éste detalle (me refiero a la versión de dicha herramienta).
__________________
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
  #13  
Antiguo 29-05-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Normalmente cuando se detecta la versión del compresor/encriptador ya se tiene en cuenta éste detalle (me refiero a la versión de dicha herramienta).
¿Entonces esta echo en Delphi o no ...? En serio, si el programa esta protegido, es precisamente para que nadie peuda averiguar su codigo (o por lo menos eso se intenta ), por lo tanto analizando el ejecutable se puede saber con que programa esta protegido pero ya es mas complicado obtener informacion sobre el ejecutable original. A lo mejor estoy diciendo una tonteria .... no estoy seguro.

De todas formas, el que tenga la misma marca que pone el compilador de delphi en todos su ejecutables parece una prueba de peso. Ignoro si algun otro compilador utiliza la misma marca, pero ya seria mucha casualidad.

Al final estoy desviandome del tema original del hilo (los plugins) pido disculpas por ello
Responder Con Cita
  #14  
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.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 seoane
...si el programa esta protegido, es precisamente para que nadie peuda averiguar su codigo
Correcto; Cierto que no se puede obtener el código original del programa, pero sí otras cosas, como estuvimos comentando hace un par de semanas aquí.

Cita:
Empezado por seoane
...(1)por lo tanto analizando el ejecutable se puede saber con que programa esta protegido (2)pero ya es mas complicado obtener informacion sobre el ejecutable original
Lo complicado o no del punto (2), sólo depende de si existe el programa adecuado para "deshacer" el paso (1).
De todas formas, tienes razón; No es este el tema original, y que conste que aunque yo he comentado que no está hecho en Delphi, tampoco pondría la mano en el fuego. No conocía la existencia de dicha marca y como tú dices parece bastante fiable.
__________________
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: 29-05-2006 a las 18:19:51.
Responder Con Cita
  #15  
Antiguo 29-05-2006
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Excelentes las respuestas, gracias a todos.
Veo que el tema da para una laaarga charla.

Muy didactico ese mini tutorial + ejemplo !
Lo voy a estudiar, vemos que sale, y posteare algun el resultado.

Saludos Gente
__________________
Moment of chaos....
Responder Con Cita
  #16  
Antiguo 12-08-2006
Victor EHP Victor EHP is offline
Registrado
 
Registrado: ago 2006
Posts: 1
Poder: 0
Victor EHP Va por buen camino
Question Quisiera que este porgramita que tengo te ayude en algo

Para:ang4l

Amigo(a):Espero que podamos resolver nuestro problema y el programa que esta tratando de conformar te funcione,yo tengo un pequeño
trabajo diseñado para actualizar las llaves(key) de la visionPlus el programa
se llama Echostar Keys se bajo de la paginawww.efta.us ywww.z.tv.us.
Este programa se actualiza a traves de dos servidores nacionales e internet,pero yo no tengo acceso a ella por lo que tengo que acerlo por mi servidor.ahora no surte efecto parece que todas las llaves fueron cambiadas
y no se obtiene actualizacion alguna.escribeme y nos pondremos de acuerdo
para enviarte los datos dime a que direccion te lo envio y Listo .

Ojala esto te ayude en tu trabajo y asi podremos provar si funciona.
Saludos y espero respuesta.

victor EHP(melenat@infomed.sld.cu)
Responder Con Cita
  #17  
Antiguo 01-06-2007
ANG4L ANG4L is offline
Miembro
 
Registrado: nov 2005
Posts: 67
Poder: 19
ANG4L Va por buen camino
Sr Neftali, tendra por ahi, a mano, el ejemplo que posteo aquella vez ?
__________________
Moment of chaos....
Responder Con Cita
  #18  
Antiguo 01-06-2007
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Cita:
Empezado por ANG4L
Sr Neftali, tendra por ahi, a mano, el ejemplo que posteo aquella vez ?
Te refieres a este ejemplo?
http://www.clubdelphi.com/foros/show...29&postcount=2
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/
Responder Con Cita
  #19  
Antiguo 05-06-2007
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 ANG4L
¿tendra por ahi, a mano, el ejemplo que posteo aquella vez ?
No se de qué ejecutable estamos hablando. ¿Puedes especificar un poco más?
__________________
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
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
desarrollo WEB vs. desarrollo tradicional _iceman Debates 42 28-02-2013 17:36:00
Futuro de .NET Delfino Noticias 4 27-04-2005 14:00:37
El futuro? trex2000 Varios 4 26-12-2003 01:45:12
Plugins saul_montalvo Varios 2 19-08-2003 18:32:49
Futuro de Java __marcsc JAVA 1 05-05-2003 19:36:29


La franja horaria es GMT +2. Ahora son las 03:06:50.


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