Ver Mensaje Individual
  #32  
Antiguo 03-10-2008
[maeyanes] maeyanes is offline
Capo de los Capos
 
Registrado: may 2003
Ubicación: Campeche, México
Posts: 2.732
Reputación: 24
maeyanes Va por buen camino
Hola...

Cita:
Empezado por rgstuamigo Ver Mensaje
uhhhhh Bueno los que hemos trabajado en java o en algun otro lenguaje que los tenga ;un template=plantilla que ayuda a trabajar sobre todo para evitar los casting a cada rato, por decir en el ejemplo de Lepe tiene que hacer una especie de casting para acceder al objeto TImage y al objeto TPanel,y cada vez tendria que hacer lo mismo si quieres acceder a dichos objetos, en cambio con template(Al menos en java)tu creas la lista y le dices por medio de plantillas "Voy a tener una lista digamos de TPanel" (al momento de crearla)entonces la lista esperará solo objetos TPanel y nada mas,y cuando saque de lista me devolvera objetos TPanel,sin necesidad de hacer casting a cada rato; no se si me explico, bueno al menos esto es posible en Java por eso preguntaba si exite en Delphi.
Esto lo puedes lograr en Delphi heredando desde TObjectList o desde TList:

Código Delphi [-]
type
  TPanelList = class(TObjectList)
  private
    function GetPanels(Index: Integer): TPanel;
    procedure SetPanels(Value: TPanel; Index: Integer);
  public
    function Add(APanel: TPanel): Integer;
    procedure Delete(APanel: TPanel);
    property Panels[Index: Integer]: TPanel read GetPanels write SetPanels;
  end;

implementation

function TPanelList.GetPanels(Index: Integer): TPanel;
begin
  Result := Items[Index] as TPanel
end;

procedure TPanelList.SetPanels(Value: TPanel; Index: Integer);
begin
  Items[Index] := Value
end;

function TPanelList.Add(APanel: TPanel): Integer;
begin
  Result := inherited Add(APanel)
end;

procedure TPanelList.Delete(APanel: TPanel);
begin
  inherited Delete(APanel)
end;

Con esto puedes tener una lista de TPanel sin hacer casting a cada rato...


Saludos...
Responder Con Cita