Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Acabo de tratar de "reproducir" el problema, pero, no he podido. He creado un proyecto, y, en su formulario principal he añadido un "TListView" al que a su vez he añadido un "item". A continuación he creado un nuevo formulario heredándolo del primero, y, he añadido otro "item" al "TListView". Y todo va bien, es decir, como se espera: el "TListView" del segundo formulario muestra el "item" añadido en el formulario "padre" y el "item" que añadí (en tiempo de diseño) en el formulario "hijo".

Algo se escapa por ahí...

PD. He usado Delphi 2007 for Win32.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #2  
Antiguo 07-11-2007
NeoTrooper NeoTrooper is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
NeoTrooper Va por buen camino
Cita:
Empezado por dec Ver Mensaje
el "TListView" del segundo formulario muestra el "item" añadido en el formulario "padre" y el "item" que añadí (en tiempo de diseño) en el formulario "hijo".
Hasta aqui llego yo tambien, esto esta bien. ahora si, con todo esto que has hecho, intenta eliminar todos los componentes del "hijo" y añade 1 mas en padre, que es lo que quiero es que me vuelva a cargar los de "padre". En canvio se queda en blanco, ya que se ve que 1 vez modificando Data:{} de hijo no se volvera a cargar de padre, pero alomejor hay algun manera, aparte de ir a DFM a quitarselo.
Responder Con Cita
  #3  
Antiguo 07-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

A ver. Cuando heredas el "TListView" estás heredando un objeto "completo" y por decirlo así independiente. Si tú haces cambios en el objeto padre, estos cambios se evidenciarán en el hijo (*), porque el hijo hereda del padre, esto es lógico, ¿verdad? Pero, si haces cambios en el objeto hijo... pasa lo que tiene que pasar: los cambios persisten, porque, el objeto hijo no deja de ser independiente.

Así que lo que ocurre no es un error, sino que es lo que se espera que pase. Tú heredas los "items" del objeto padre, pero, si borras dichos "items" en el objeto hijo, ¿quién es el objeto padre para añadir de nuevo los "items"? Ya lo hizo en un principio, así que si el hijo quiere deshacerse de ellos... es problema del hijo. ¿No?

(*) Ojo, los cambios se evidenciarán en el hijo si este no ha sido creado previamente. Se entiende que los cambios en el padre (una vez en tiempo de ejecución) no afectarán al objeto hijo, puesto que este es ya un objeto aparte.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 07-11-2007 a las 11:45:20.
Responder Con Cita
  #4  
Antiguo 07-11-2007
NeoTrooper NeoTrooper is offline
Miembro
 
Registrado: oct 2006
Posts: 17
Poder: 0
NeoTrooper Va por buen camino
Cita:
así que si el hijo quiere deshacerse de ellos... es problema del hijo. ¿No?
Si, tienes toda la razon, la rpegunta es, hay alguna manera de decirle que me vuelva a cargar lo que tiene padre ?
Ya que imaginemos que lo habia modificado o borrado 1 elemento sin querer.
Responder Con Cita
  #5  
Antiguo 07-11-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues... me temo que no exista forma, al menos tal y como planteas el asunto. O tal vez algún otro compañero pueda decir algo al respecto. En mi opinión, y, sin saber muy bien qué trata de conseguirse, cuál es el objeto de todo esto, pienso, a bote pronto, que existen otras formas de hacer "persistir" información.

Por ejemplo, si es preciso que un determinado "TListView" pueda "recuperar" sus datos originales, bastaría con guardar la información en un archivo, por ejemplo, con la información que nos interese, de modo que podamos luego recuperarla cuando nos sea precisa. Lamento no poder decir otra cosa, pero, tal vez lo dicho te ayude en algo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Clases y herencia dec HTML, Javascript y otros 1 16-01-2007 10:53:36
Herencia miguel867 OOP 6 12-01-2007 23:08:20
Herencia... dunia_lv C++ Builder 3 29-05-2006 22:43:00
Herencia de Forms La__X Varios 1 20-01-2006 18:50:24
Herencia vegalisandro OOP 8 15-09-2003 14:30:42


La franja horaria es GMT +2. Ahora son las 14:23:49.


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