Memory Leak na classe
Olá
amigos,
Estou
com um problema de memory laeak e não estou conseguindo identifica-lo.Segue
o meu código:
Eu
tenho a seguinte classe:
type
TFormParam =
class
private
FCampos:
string;
procedure
SetCampos(const Value: string);
public
VinculaCampos
: TStringList;
property Campos: string read
FCampos write SetCampos;
constructor Create;
destructor Destroy;
end;
...
constructor TFormParam.Create;
begin
ViculaCampos := TStringList.Create;
end;
destructor TFormParam.Destroy;
begin
ViculaCampos.Free;
inherited;
end;
procedure TFormParam.SetCampos(const Value: string);
begin
FCampos :=
Value;
ViculaCampos.CommaText := Value;
end;
Estou
utilizando ela para passar informações de um Form para o outro, como no
exemplo:
No
Form1 eu chamo assim:
objParam
:= TFormParam.Create;
try
objParam.Campos := 'Neil=45, Brian=63,
Jim=22';
if Form2 = nil then
Form2 :=
TForm2.Create(Self,objParam);
Form2.ShowModal;
finally
objParam.Free;
No
Form2 eu utilizo assim:
constructor TForm2.Create(Owner: TComponent;
FrmParametro: TFormParam);
var i : Integer;
begin
inherited Create(Owner);
for I := 0 to
FrmParametro.ViculaCampos.Count - 1 do
begin
lstBox1.Items.Add(FrmParametro.ViculaCampos.Names[i])
;
lstBox2.Items.Add(FrmParametro.ViculaCampos.ValueFromIndex[i]);
end;
end;
Alguém
saberia me dizer aonde esta o memory leak?
Rodrigo Menon
Curtidas 0
Respostas
Rodrigo Menon
05/05/2011
Resolvido,
Faltava o override no destructor da classe.
Faltava o override no destructor da classe.
GOSTEI 0