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

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-05-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
Question VFI - Modificaciones al ancestro.

Hola a todos,

tengo un "problema" o mejor dicho un "comportamiento" que creo que ha sido así toda la vida y que así se quedará, pero tenia que preguntarlo. Ahi va....

Utilizo el siguiente formulario (simple), dos paneles y un DbGrid (lo pongo aquí por comodidad por si alguien puede contestar):

Código Delphi [-]
object Form1: TForm1
  Left = 498
  Top = 375
  Caption = 'Form1'
  ClientHeight = 227
  ClientWidth = 326
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object Panel1: TPanel
    AlignWithMargins = True
    Left = 3
    Top = 3
    Width = 320
    Height = 41
    Align = alTop
    Caption = 'Panel1'
    TabOrder = 0
    ExplicitLeft = 80
    ExplicitTop = 48
    ExplicitWidth = 185
  end
  object Panel2: TPanel
    AlignWithMargins = True
    Left = 3
    Top = 183
    Width = 320
    Height = 41
    Align = alBottom
    Caption = 'Panel2'
    TabOrder = 1
    ExplicitLeft = 104
    ExplicitTop = 160
    ExplicitWidth = 185
  end
  object DBGrid1: TDBGrid
    AlignWithMargins = True
    Left = 3
    Top = 50
    Width = 320
    Height = 127
    Align = alClient
    TabOrder = 2
    TitleFont.Charset = DEFAULT_CHARSET
    TitleFont.Color = clWindowText
    TitleFont.Height = -11
    TitleFont.Name = 'Tahoma'
    TitleFont.Style = []
  end
end


Ahora creo un nuevo formulario heredado de este. Pero a este nuevo formulario le pongo DOS columnas de datos (vease que el primero no tiene columnas):

Código Delphi [-]
inherited Form2: TForm2
  Left = 1687
  Top = 250
  Caption = 'Form2'
  ExplicitLeft = 1687
  ExplicitTop = 250
  PixelsPerInch = 96
  TextHeight = 13
  inherited DBGrid1: TDBGrid
    Columns = <
      item
        Expanded = False
        Title.Caption = 'UNA'
        Visible = True
      end
      item
        Expanded = False
        Title.Caption = 'DOS'
        Visible = True
      end>
  end
end

Ahora, por un momento, imaginad que tenemos 40 formularios (como el segundo), heredados del primero y que, mirate tú, queremos hacer un pequeño cambio en el primer form (el padre del invento).

El cambio es simple. Añadimos un nuevo panel que (para los que hayan visto el formulario) ocupa el lugar del grid. El grid pasa a estar dentro del nuevo panel. Hago esto desde la ventana "Structure", creando el panel y arrastrando el DbGrid dentro del nuevo panel.

Perfecto, todos los formularios hijo, heredan este cambio, pero acabo de perder TODAS las definiciones de TODAS las columnas (y definición de DataSource, etc.. etc..) de dentro de TODOS los grids de todos los formularios hijos. Es decir, en el ejemplo, 40 formularios a la porra.

Y ya no sé si es que es Delphi2010 el que tiene el problema, o ha sido siempre así. Estoy un poco despistado.

Alguien puede darme su opinión ?

Gracias y un saludo.
Responder Con Cita
 



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
Como instanciar objetos de los cuales solo se conoce su clase ancestro AzidRain OOP 7 11-07-2008 02:58:17
StringGrid y modificaciones Cecilio Varios 1 13-09-2007 11:23:17
Grabar modificaciones osvaldo1308 Varios 2 13-06-2006 10:27:12
Que no almacene las modificaciones perillan Conexión con bases de datos 3 17-07-2005 20:19:05
¿Cómo puedo llamar al método heredado de una clase que no es el ancestro directo? sarackganda OOP 4 15-12-2003 22:19:49


La franja horaria es GMT +2. Ahora son las 23:17:35.


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