+5 votos
64 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 | 64 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 Sep 2026
    200 pontos
    Melhores 2026 Sep 14 - 20
    1. Larson

      165 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

    518 perguntas
    568 respostas
    389 comentários
    802 usuários