Lista Objetos
Tenho uma classe com o objeto TProdutoPronto. Gostaria de ter uma lista com esse objeto só que como eu fiz não está dando certo.
Código:
Dessa forma a lista retorna o mesmo item (Ex.: Produto 01, Produto 01, Produto 01...).
Código:
function TListaProduto.BuscaEBalanca: TObjectList<TProdutoPronto>;
var
cdsProdutos: TADODataSet;
iProduto: TProdutoPronto;
FList: TObjectList<TProdutoPronto>;
begin
// Carregar lista
cdsProdutos := TADODataSet.Create(nil);
FList := TObjectList<TProdutoPronto>.Create;
try
try
cdsProdutos.Connection := DM.ADO;
cdsProdutos.CommandText := 'SELECT CodBarras, ProdutoDescricao, Preco, IdGrupo'+
' FROM tblProdutos'+
' WHERE produto_balanca = True'+
' ORDER BY IdProduto;';
cdsProdutos.Open;
cdsProdutos.First;
while not cdsProdutos.Eof do
begin
iProduto := TProdutoPronto.Create;
iProduto.CodBarras := cdsProdutos.FieldByName('CodBarras').AsString;
iProduto.Descricao := cdsProdutos.FieldByName('ProdutoDescricao').AsString;
iProduto.PrecoVenda := cdsProdutos.FieldByName('Preco').AsCurrency;
iProduto.GrupoID := cdsProdutos.FieldByName('IdGrupo').AsInteger;
iProduto.GrupoNome := FGrupo.BuscaPorId(iProduto.GrupoID).Descricao;
FList.Add(iProduto);
iProduto.Free;
cdsProdutos.Next;
end;
finally
result := FList;
cdsProdutos.Close;
FreeAndNil(cdsProdutos);
end;
except
on E: Exception do
begin
FsRetorno := PChar('Erro ao carregar produtos!'+#13+#10
+'ERRO: '+E.Message);
FiRetorno := 100;
end;
end;
end;
Dessa forma a lista retorna o mesmo item (Ex.: Produto 01, Produto 01, Produto 01...).
Paulo Andrade
Curtidas 0