Fórum TListView Delphi - Access Violation #602623
27/05/2019
0
Bom dia!
Estou tendo uma dificuldade me limpar a memória dos objetos alocados no meu TListView.
Fiz um pequeno exemplo populando um TListView.
No evento OnDeletion coloquei o código abaixo.
porém no Destroy está dando Access Violation.
o que poderia ser?
Estou tendo uma dificuldade me limpar a memória dos objetos alocados no meu TListView.
Fiz um pequeno exemplo populando um TListView.
try
oClienteController := TClienteController.Create;
oList := TObjectList<TObject>.Create(True);
oList := oClienteController.Pesquisar(edtPesquisa.Text);
if oList.Count > 0 then
begin
lstConsulta.Clear;
for I := 0 to oList.Count -1 do
begin
oCliente := TCliente.Create;
oCliente := oList.Items[i] as TCliente;
lstViewItem := lstConsulta.Items.Add;
with lstViewItem do
begin
Caption := IntToStr(oCliente.Id);
SubItems.Add(oCliente.Nome);
SubItems.Add(oCliente.CPF);
SubItems.Add(oCliente.RG);
SubItems.Add(oCliente.Telefone);
Data := oCliente;
end;
end;
lstConsulta.ItemIndex := 0;
oCliente := lstConsulta.Selected.Data;
end;
finally
oClienteController.Destroy;
oClienteController := nil;
oClienteController.Free;
end;
No evento OnDeletion coloquei o código abaixo.
if Item.Data <> nil then begin TObject(Item.Data).Destroy; Item.Data := nil; end;
porém no Destroy está dando Access Violation.
o que poderia ser?
Elpidio Baberge
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)