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 08-06-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Componente compartido inter-forms.

Hola,

tengo un form-PADRE que tiene un TMemo que hace las veces de LOG de la aplicación.

El caso es que hay varios form-Hijox que heredan de ese Form-Padre. Todos ellos muestran el Tmemo del form-padre.

TForm-Padre (TMemo)
|
+-- TForm-Hijo1
|
+-- TForm-Hijo2
|
+-- TForm-Hijo3

Pueden existir uno o varios TForm-Hijox abierto simultaneamente. Y cada uno de ellos escribe sus propios "asuntos" en el LOG (TMemo). Ok hasta aquí y cada uno muestra su propio LOG.

Pero me gustaría que todos ellos compartiesen el mismo LOG (TMemo). Es decir, si desde TForm-Hijo1, escribo: xxxxxxx en el log y que el resto de TForm-HijoS abiertos, muestre este text 'xxxxxxxxxxx' en su log.

Pero no escribiendo lo mismo en distintos TMemo, sino solo en el del padre.

Aunque no sé si esto es posible. No sé si me explico con claridad...

Gracias.
Responder Con Cita
  #2  
Antiguo 08-06-2010
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.278
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 yapt Ver Mensaje
Pero no escribiendo lo mismo en distintos TMemo, sino solo en el del padre.
Una vez creas los hijos, aunque deriven del objeto padre, ya son formularios distintos y ocupan espacios de memoria distintos. Si deseas hacerlo deberás actualizar tú ese texto (de forma más o menos automática), pero tal y como pides, no se puede.

Otra opción, supongo, sería que los 2 memos apuntaran al mismo espacio de memoria, pero creo que eso sería complicar las cosas y te podría dar más problemas que beneficios.

No se si alguien tiene alguna idea más... a mi no se me ocurre.
__________________
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 08-06-2010
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Hola,

Cita:
Otra opción, supongo, sería que los 2 memos apuntaran al mismo espacio de memoria, pero creo que eso sería complicar las cosas y te podría dar más problemas que beneficios.
creo que esto seria lo mas correcto. Al momento del create de los forms hijos, hacer algo como MemoHijo.Lines := MemoPadre.Lines, asignando el mismo puntero. Eso si, al momento de liberar tendrias que liberar la direccion de MemoHijos.Lines original, si no te quedarian colgadas en memoria. Me pongo a ver si puedo hacerte un ejemplo...
Responder Con Cita
  #4  
Antiguo 08-06-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 18
yapt Va por buen camino
Bueno, a decir verdad, tengo un componente (propio) para todo el tema de LOG, y este ya tiene un StringList propietario...

Podria apuntar todos los TMemo.Lines a este StringList..... Este LOG es de las ULTIMAS cosas en liberarse al finalizar mi aplicación. Es decir, se crea al inicio (para temas de logging) y se destruye al final...

A ver.. a ver....
Responder Con Cita
  #5  
Antiguo 08-06-2010
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.278
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 coso Ver Mensaje
creo que esto seria lo mas correcto. Al momento del create de los forms hijos, hacer algo como MemoHijo.Lines := MemoPadre.Lines, asignando el mismo puntero. Eso si, al momento de liberar tendrias que liberar la direccion de MemoHijos.Lines original, si no te quedarian colgadas en memoria. Me pongo a ver si puedo hacerte un ejemplo...
Más o menos en eso pensaba yo, pero aun así no tengo claro que funcione el "refresco" en varios formularios del componente memo.
__________________
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
Problema al enlazar un TwinDBNavigator con una Tabla de Inter base belpab Firebird e Interbase 0 17-03-2008 19:13:23
Crear un grupo de Forms como Componente RubenWTH OOP 0 22-04-2006 17:17:32
inter base 6.5 algo raro, ayuda... ronimaxh Conexión con bases de datos 2 29-12-2003 14:24:44
diferencia entre inter base 6.5 y firebird 1.03 ronimaxh Conexión con bases de datos 0 16-12-2003 20:57:12
inter base 6.5 ayuda... ronimaxh Conexión con bases de datos 2 15-12-2003 21:38:07


La franja horaria es GMT +2. Ahora son las 01:50:14.


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