Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Por exemplo, após gerar um qrcode e ficar chamando ConsultarTransacao para consultar se esta concluída.

Ao sair o Memory Leaked ocorre.

Parece ser na TMateraTransactionResponseArray.

This application has leaked memory. The small block leaks are (excluding expected leaks registered by pointer):

13 - 20 bytes: ACBrJSON.TACBrJSONObject x 4, JsonDataObjects_ACBr.TJsonArray x 4, System.Classes.TList x 4, Unknown x 4
21 - 36 bytes: JsonDataObjects_ACBr.TJsonObject x 6, UnicodeString x 8, Unknown x 10
37 - 52 bytes: UnicodeString x 14
53 - 68 bytes: UnicodeString x 2
69 - 84 bytes: UnicodeString x 2, Unknown x 2
85 - 100 bytes: UnicodeString x 6

 

Postado

@Juliomar Marchetti encontrei os problemas e estou enviando a unit ACBrPIXPSPMatera.pas em anexo.

Alterações que fiz:

função RemoverResponseData não estava dando free e adicionei o try finally:

function TACBrPSPMatera.RemoverResponseData(aJson: String): String;
var
  wJO: TACBrJSONObject;
begin
  wJO := TACBrJSONObject.Parse(aJson);
  try
    try
      Result := wJO.AsJSONObject['data'].ToJSON;
    except
      Result := aJson;
    end;
  finally
    wJO.Free;
  end;
end;

=======================================================

destructor TACBrPSPMatera.Destroy;
begin

...

  if Assigned(fExtratoECResposta) then
    fExtratoECResposta.Free;

  if Assigned(fSaldoECResposta) then
    fSaldoECResposta.Free;

  inherited Destroy;
end;

========================================================

procedure TACBrPSPMatera.Clear;
begin
  inherited Clear;

  ...

  if Assigned(fExtratoECResposta) then
    fExtratoECResposta.Clear;

  if Assigned(fSaldoECResposta) then
    fSaldoECResposta.Clear;
end;

ACBrPIXPSPMatera.pas

  • Consultores
Postado

Bom dia pessoal, 
Acabei de enviar as correções ao SVN, rev: 36356.

  • Curtir 1
Consultor SAC ACBr

Elias César Vieira
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Assine o
SAC

 

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...