Olá pessoal. Estou com um erro de memória na geração do registro tipo 74 - Registro de Inventário.
Tenho um sql em uma query que retorna os dados mostrados na imagem em anexo, quando faço a primeira iteração do loop
na tabela para preencher as propriedade do registro74 tudo ocorre normalmente, mas na segunda iteração, ocorre um erro de
memória, sendo que na hora de adicionar o registro74 a lista, um código chamado: GetRegistroExiste(Obj.Codigo) é executado,
e pelo debug consigo ver que os valores comparados são iguais:
while (I < Self.Count) and (Self[i].Codigo <> FCodigo) do
Inc( I ) ;
Como o retorno da função não é menor que zero, o meu obj recebe um free como mostrado abaixo:
if Result < 0 then
Result := inherited Add(Obj)
else
Obj.Free;
Meu objeto é desistanciado com o Obj.free, o que provoca na próxima iteração do loop um erro de acess violation ao setar
o próximo valor da query na propriedade do objeto, já que o mesmo foi limpo.
Obs: Eu estou dando o next na tabela e também não há nenhum registro com código duplicado como vcs podem ver na imagem
em anexo. Se alguém puder me ajudar desde já agradeço.