ZipMaster
Ola Pessoal,
Tenho uma aplicação que esta utilizando o Componente [b:08b9fb96c9]ZipMaster[/b:08b9fb96c9] para zipar. Esta funcionando corretamente, mas tem um porém...Sempre preciso fechar minha aplicação para [b:08b9fb96c9]conseguir excluir [/b:08b9fb96c9]o arquivo .zip criado...
Alguém sabe como posso fazer para poder [b:08b9fb96c9]excluir o arquivo .zip [/b:08b9fb96c9]que criei e excluir o mesmo ainda em tempo de execução sem ter que sair da aplicação?
[i:08b9fb96c9]Obs: Tentei utilizar ´DeleteFile´ porém deu erro, pois o arquivo ainda estava sendo usado....[/i:08b9fb96c9]
sem alguém puder ajudar ta valendo, ok
Tenho uma aplicação que esta utilizando o Componente [b:08b9fb96c9]ZipMaster[/b:08b9fb96c9] para zipar. Esta funcionando corretamente, mas tem um porém...Sempre preciso fechar minha aplicação para [b:08b9fb96c9]conseguir excluir [/b:08b9fb96c9]o arquivo .zip criado...
Alguém sabe como posso fazer para poder [b:08b9fb96c9]excluir o arquivo .zip [/b:08b9fb96c9]que criei e excluir o mesmo ainda em tempo de execução sem ter que sair da aplicação?
[i:08b9fb96c9]Obs: Tentei utilizar ´DeleteFile´ porém deu erro, pois o arquivo ainda estava sendo usado....[/i:08b9fb96c9]
sem alguém puder ajudar ta valendo, ok
Fernando Piccini
Curtidas 0
Respostas
Flyskin
11/12/2007
você está criando o componente dentro de um bloco try...finally..end?
para que você consiga deletar o arquivo, vai precisar destruir o objeto antes então após o finally, você pode deletar o arquivo sem problemas...
para que você consiga deletar o arquivo, vai precisar destruir o objeto antes então após o finally, você pode deletar o arquivo sem problemas...
GOSTEI 0
Fernando Piccini
11/12/2007
O componente não é criado em tempo de execução, o mesmo esta posicionado em um Form...Para a compactacao dos arquivos e feito o seguinte processo:
try
Screen.Cursor := crHourGlass;
ZipMaster1.ZipFileName := ´C:\Temp\.zip´;
Query.Open;
Query.First;
while not Query.Eof do
begin
ZipMaster1.FSpecArgs.Add(Query.FieldByName(´nm_arquivo´).AsString);
Query.Next;
end;
ZipMaster1.Add;
Screen.Cursor := crDefault;
except
Messagedlg(Exception(ExceptObject).Message, MtInformation, [MbOk], 0);
end;
Ele esta zipando corretamente e depois envia para um e-mail o arquivo, porém preciso excluir o arquivo depois de zipado...
vlw
try
Screen.Cursor := crHourGlass;
ZipMaster1.ZipFileName := ´C:\Temp\.zip´;
Query.Open;
Query.First;
while not Query.Eof do
begin
ZipMaster1.FSpecArgs.Add(Query.FieldByName(´nm_arquivo´).AsString);
Query.Next;
end;
ZipMaster1.Add;
Screen.Cursor := crDefault;
except
Messagedlg(Exception(ExceptObject).Message, MtInformation, [MbOk], 0);
end;
Ele esta zipando corretamente e depois envia para um e-mail o arquivo, porém preciso excluir o arquivo depois de zipado...
vlw
GOSTEI 0
Flyskin
11/12/2007
e você está tentando excluir o arquivo com o form aberto? pois se ele é um componente visual, está sendo criado com o form e até que feche o form, ele continua carregado na memória.
experimente fechar o form e depois excluir o arquivo.
experimente fechar o form e depois excluir o arquivo.
GOSTEI 0
Fernando Piccini
11/12/2007
o que eu nao quero eh ter q sair da minha aplicacao, ou seja, nao quero ter q sair do form para excluir o arquivo...Eu tenho um TButton onde no mesmo gostaria de disponibilizar um evento que venha excluir o arquivo...sem ter q liberar componente nenhum...
Sera q o componente ZipMaster depois de zipar nao disponibiliza uma rotina para fechar o arquivo ou algo do genero?
flw
Sera q o componente ZipMaster depois de zipar nao disponibiliza uma rotina para fechar o arquivo ou algo do genero?
flw
GOSTEI 0
Flyskin
11/12/2007
então a solução para você é criar o componente em tempo de execução e tratar a sua liberação da memória sem fechar o form... eu geralmente utilizo esta opção pois ocupa menos recursos e tenho o controle na mão...
GOSTEI 0