Verificar se arquivo está em uso
Boa tarde a todos!
Tenho um aplicativo servidor que precisa ter acesso de forma única a um arquivo, para realizar algumas operações com o mesmo. Acontece que este arquivo é usado por vários aplicativos clientes ao mesmo tempo.
O que eu preciso é saber se o arquivo está em uso quando o servidor for realizar tal operação? Existe alguma função que me retorne este status? Já vasculhei a API do windows mas não tive sucesso na minha busca.
Grato desde já.
Tenho um aplicativo servidor que precisa ter acesso de forma única a um arquivo, para realizar algumas operações com o mesmo. Acontece que este arquivo é usado por vários aplicativos clientes ao mesmo tempo.
O que eu preciso é saber se o arquivo está em uso quando o servidor for realizar tal operação? Existe alguma função que me retorne este status? Já vasculhei a API do windows mas não tive sucesso na minha busca.
Grato desde já.
Fabricio Lb
Curtidas 0
Respostas
Nandolh
14/03/2005
if FileOpen(´c:\temp.txt´,fmOpenReadWrite) > 0 then
showmessage(´Arquivo carregado com êxito´);
else
showmessage(´Arquivo já está sendo utilizado.´);
showmessage(´Arquivo carregado com êxito´);
else
showmessage(´Arquivo já está sendo utilizado.´);
GOSTEI 0
Fabricio Lb
14/03/2005
if FileOpen(´c:\temp.txt´,fmOpenReadWrite) > 0 then
showmessage(´Arquivo carregado com êxito´);
else
showmessage(´Arquivo já está sendo utilizado.´);
Fiz esta implementação. Aparentemente funcionou, porém em algumas máquinas o resultado do FileOpen é sempre -1, independente do arquivo está sendo usado ou não. No início até pensei que poderia ser algum problema com o arquivo, mas mesmo criando outro igual o FileOpen não funciona.
Obs: Eu consigo renomear o arquivo no mesmo momento em que tento abrí-lo pelo programa usando o FileOpen, o q indica que o mesmo não está sendo usado neste momento.
?????
Obrigado
GOSTEI 0