Liberando Excel da memória

Delphi

21/03/2005

Oi

Uso Delphi 6

Estou tendo que transferir dados de meu gdb para o excel, consegui. Mas depois que é feito a transferência o excel não sai da memória, como faço isso.

Na rotina, o Excel é criado por uma variável para que seja uma abertura temporária. Só que essa variável não está me permitindo liberá-lo da memória.

Tentei:

Excel.Close;
Excel.Free;

Mas ele indica que close e free não são aplicáveis à variável.

Como eu posso fazer então.

Agradeço antecipadamente qualquer ajuda.

Sandro


Salupe

Salupe

Curtidas 0

Respostas

Salupe

Salupe

21/03/2005

sobe


GOSTEI 0
Semchance

Semchance

21/03/2005

Pessoal, estou com o mesmo problema, e não consigo resolver, alguem pode ajudar ?


GOSTEI 0
Adalberto

Adalberto

21/03/2005

Bem, o único teste que fiz foi o seguinte...

// Fecha o Excel

Excel.Quit;

// Feito isso, se você abrir o Gerenciador de Tarefas o Excel ainda estará constando como aberto. Ele sairá do Gerenciador assim que você encerrar a sua aplicação...

Espero que dê para quebrar o galho...


GOSTEI 0
Adalberto

Adalberto

21/03/2005

Verificando o Help do Delphi, há uma dica que diz o seguinte:

Se você usa a função CreateOLeObject para carregar o Excel e o retorno dessa função é atribuída a uma variável do tipo Variant, você pode liberar a interface atribuindo a constante Unassigned aquela variável...

Espero ter ajudado...


GOSTEI 0
Adalberto

Adalberto

21/03/2005

Fiz mais um teste...

Depois de

Excel.Quit; // Fecha o Excel

// Atribuir à variável o valor Null;

Excel := Null;

// O Excel não estará mais no Gerenciador de Tarefas...

blz ?


GOSTEI 0
Salupe

Salupe

21/03/2005

A melhor solução que encontrei para transferir para o excel, assim como para o word ou pdf foi trocar de componentes e utilizar o Fortes Report, ele tem componentes que fazem a gravação do conteúdo do relatório no formato que você colocou na tela.
Além de a facilidade e confiabilidade dele ser muito maior.


GOSTEI 0
POSTAR