+5 votos
63 visitas
Após a utilização dos objetos IEntityCallProxy ou IBusinessComponentProxy da tecnologia, ao tentar executar o comando FreeAndNill do Delphi resulta em um Access Violation, mesmo utilizando a verificação Assigned().
por (367 pontos)
editado por | 63 visitas

1 Resposta

+5 votos
Melhor resposta

Não deve-se efetuar a liberação desses tipos de objetos, estes serão liberados posteriormente pelo Delphi quando não existirem mais referências para o objeto.

Para efetuar a liberação, deve-se atribuir "nil", para variável do tipo interface, e null para variável do tipo OleVariant.

Exemplo:

var
  ObjA: ITableMacro;
  ObjB: OleVariant;

begin
  ...

  ObjA := nil;

  ObjB := null;

end;

 

 

Importante:

O null esta declarado na unit Variants.

Quando termina o escopo da variável o objeto também é liberado.

 

 

 

por (367 pontos)
editado por
Melhores Aug 2025
    200 pontos
    Melhores 2025 Jul 28 - Aug 03
    1. Larson

      156 Pontos

    2. danilo.pereira

      96 Pontos

    3. danilo.pereira

      96 Pontos

    4. danilo.pereira

      96 Pontos

    5. luciano.fronza

      61 Pontos

    6. luciano.fronza

      61 Pontos

    7. luciano.fronza

      61 Pontos

    8. diuari.molinari

      52 Pontos

    9. diuari.molinari

      51 Pontos

    10. diuari.molinari

      51 Pontos

    517 perguntas
    566 respostas
    389 comentários
    704 usuários