+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 Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários