Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
El problema es que el "precio a pagar" también es alto, pues debes trabajar utilizando RTTI; Esto no es lo más sencillo ni lo más óptimo (como ya se ha comentado aquí).
Pero es que esto no es así, como ya lo han visto antes. Es más, yo diría que, por lo general, debería evitarse el uso de RTTI.

// Saludos
Responder Con Cita
  #2  
Antiguo 14-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.309
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 roman Ver Mensaje
Pero es que esto no es así, como ya lo han visto antes. Es más, yo diría que, por lo general, debería evitarse el uso de RTTI.
Pues eso es lo que intentaba decir yo, pero veo que no se me ha entendido.

Quería decir que si trabajas con packages dinámicos, deberás utilizar RTTI. Y que como esto (trabajar con RTTI) no es óptimo, sólo se debe trabajar con packages dinámicos cuando realmente lo necesites.
__________________
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
  #3  
Antiguo 14-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
No, no. Es que lo que yo digo es que trabajar con paquetes dinámicos no hace obligatorio el uso de RTTI. Y tú mismo has dado ejemplos de que no es así.

Lo único que se requiere es estructurar bien los paquetes de manera que haya un lenguaje común entre la aplicación principal y los paquetes. Dicho lenguaje puede establecerse mediante clases abstractas o bien interfaces.

// Saludos
Responder Con Cita
  #4  
Antiguo 14-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.309
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 roman Ver Mensaje
Lo único que se requiere es estructurar bien los paquetes de manera que haya un lenguaje común entre la aplicación principal y los paquetes. Dicho lenguaje puede establecerse mediante clases abstractas o bien interfaces.
Vale, pero aun así el trabajo de esta forma se complica respecto a utilizar un simple USES en una Unit.
Si bien se puede trabajar sin RTTI con carga dinámica de packages, creo que para hacer cosas potentes o para conseguir una buena integración con la aplicación principal tienes antes o después echar mano de ella.
NOTA: No he trabajado con la opción de los Interfaces.
__________________
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
  #5  
Antiguo 14-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Neftali Ver Mensaje
Vale, pero aun así el trabajo de esta forma se complica respecto a utilizar un simple USES en una Unit.
No entendí esta parte. ¿Cuál sería la complicación de usar el USES?

// Saludos
Responder Con Cita
  #6  
Antiguo 14-02-2011
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.309
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 roman Ver Mensaje
No entendí esta parte. ¿Cuál sería la complicación de usar el USES?
Perdona Román, pero es que como llevamos 2 hilos paralelos sobre los mismo y al final me he liado entre uno y el otro.

Comunicación entre BPL (este)
Componentes en librerías DLL (el otro)

En el otro hilo ya hemos explicado que si utilizamos packages (BPL's) con carga dinámica (LoadPackages) no podemos hacer referencia a los elementos que haya contenidos en el Package, utilizando la unit en el USES, porque eso implicaría la referencia estática a ese package.

A esa restricción me refiero cuando digo que no podemos incluir las units en el USES, como cuando trabajamos "normalmente" (sin carga dinámica de packages) y que el trabajo se hace más complejo cuando estamos trabajando de esta forma.
__________________
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 14-02-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Sí, sí. También estoy al tanto del otroh hilo .

Pero, me parece que tú mismo has dado el ejemplo de como hacer eso:

1. Defines la estructura de un plugin. Ésta puede ser una clase abstracta o una interfaz.

2. La unidad que define la estructura del plugin se carga estáticamente, tanto por la aplicación principal como por los plugins. Es decir, mediante la inclusión en USES de dicha unidad.

3. Los pluginslos cargas dinámicamente. Pero como serán clases derivadas de una clase abstracta (o implementarán una interfaz) que sí conocen, entonces no necesitan hacer uso de RTTI.

Edito:

De hecho, ¿que no es lo que expones en el mensaje #6? El paquete base hace de intermediario e interfaz común entre la aplicación principal y los paquetes, de manera que evitas el uso de RTTI.

// Saludos

Última edición por roman fecha: 14-02-2011 a las 17:34:05.
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
Comunicacion entre aplicaciones erickahr Varios 0 21-06-2010 18:56:48
comunicación entre dos aplicaciones? reinier Redes 1 08-05-2008 11:28:15
Comunicacion entre procesos walito Varios 0 14-11-2007 21:55:53
Comunicacion entre delphi y php vilamm PHP 3 15-12-2006 20:34:43
Comunicación entre PC por Lan c748a Varios 1 04-05-2004 08:51:21


La franja horaria es GMT +2. Ahora son las 09:34:15.


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