+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 Jun 2026
  1. Duwe

    4 Pontos

200 pontos
Melhores 2026 Jun 08 - 14
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. luciano.fronza

    61 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. diuari.molinari

    52 Pontos

  8. diuari.molinari

    51 Pontos

  9. diuari.molinari

    51 Pontos

  10. willian.metalsystem

    45 Pontos

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