Ver Mensaje Individual
  #1  
Antiguo 25-03-2011
Avatar de masedano
masedano masedano is offline
Registrado
 
Registrado: jun 2007
Posts: 9
Reputación: 0
masedano Va por buen camino
Implementar una propiedad de tipo TStringList

Estimados

Tengo la necesidad de agregar una propiedad a un componente.
Dicha propiedad quiero que esté publicada cuando se use dicho componente.
Esta propiedad será llamada Texto (por ejemplo).
Quiero que sea de tipo TStringList.
El problema está en que esta propiedad, al momento de leerla o escribirla no accede a un objeto privado del componente sino a otra fuente de datos (un archivo, por ejemplo u otra fuente de datos).
Entonces, con estos parámetros les pego un código a modo de ejemplo:

Código Delphi [-]
unit UnEjemplo;

type
  TCustomObj = class(TWinControl)
  protected
    function GetTexto: TStringList;
    procedure SetTexto(const AValue: TStringList);
  public
    property Texto: TStringList read GetTexto write SetTexto;
  end;

  TObj = class(TCustomObj)
  published
    property Texto;
  end;

implementation

function TCustomObj.GetTexto: TStringList;
begin
  Result := TStringList.Create;
  Result.Text := UnaFuncionQueDevuelveUnString;
end;

procedure TCustomObj.SetTexto(const AValue: TStringList);
begin
  UnaFuncionQueActualizaUnString(AValue.Text);
end;


Las dudas son:
La función GetTexto crea todas las veces un objeto de tipo TStringList.
¿Esto no es algo malo?
¿Al estar generándose un objeto cada vez que se ejecuta la función no se está consumiendo mas memoria?
¿Cuando se destruye este objeto?

Desde yá muchas gracias por su tiempo
Saludos

Última edición por masedano fecha: 25-03-2011 a las 03:36:25.
Responder Con Cita