RUN-TIME ERROR 55 : FILE ALREADY OPEN

FABRICIOPOHLMAN 23/08/2009 12:05:27
#320716
Run-time error 55 : File already open


Este erro ocorre no seguinte codigo para atualizar o .exe auto-update
Run-time error 55 : File already open

Private Sub Timer2_Timer()
Download [Ô]http: // site.com.br / atual.txt[Ô], App.Path & [Ô]\atual.txt[Ô]
ArquivoDados = App.Path + [Ô]\atual[Ô]
ArquivoDados2 = App.Path + [Ô]\local[Ô]
If Siexisti(ArquivoDados2) = False Then
FileCopy ArquivoDados, ArquivoDados2
End If
Open ArquivoDados For Input As #1 ---- > erro acontece aqui
Open ArquivoDados2 For Input As #2
Input #1, hora_atu
Input #2, hora_ver
If hora_atu > hora_ver Then
Download [Ô]http: //site.com.br / atual.exe[Ô], App.Path & [Ô]\atual.exe[Ô]
Close #1
Close #2
FileCopy ArquivoDados, ArquivoDados2
Shell App.Path & [Ô]\atual.exe[Ô], vbHide
Timer2.Enabled = False
End If
End Sub


Atual.exe = programa auxiliar para auto-autalização
agluem pode me ajudar nesse problema?
ANDRE.ADMVB 23/08/2009 12:16:19
#320717
Antes de abrir o arquivo, garanta que o mesmo está FECHADO:

Close #1 [ô]Fecha o 1º
Close #2 [ô]Fecha o 2º (por garantia)

Open ArquivoDados For Input As #1 ---- > erro acontece aqui


Veja se resolve e retorne o resultado!
ASHKATCHUP 23/08/2009 12:16:36
#320718
Resposta escolhida
Faz assim:

Close
Open ArquivoDados For Input As #1


O comando [Ô]Close[Ô] fecha todos os arquivos que o VB está utilizando. Se, por algum acaso, vc já abriu algum arquivo com o [Ô]código[Ô] 1 antes e não fechou, ele ficará preso na memória. é por isso que o erro acontece.
DANIKULL 23/08/2009 12:22:26
#320720
FABRICIOPOHLMAN, boa tade.

Este erro acontece porque você esta tentgando abrir um arquivo ja aberto. Tente antes de abri-lo da um close #1, ou mudar o nome do arquivo, veja também se seu sistema não esta abrindo este arquivo em alguma outra rotina ok???

Caso não resolva poste toda a rotina de atualização para que possamos analizar e te ajudar. OK???


FABRICIOPOHLMAN 23/08/2009 14:16:47
#320723
valw mesmo galera boa...
Tópico encerrado , respostas não são mais permitidas