Oppure

Loading
16/05/08 21:42
Ciao a tutti ragazzi... avrei un problemone...

praticamente ho fatto un programma che ha un autoupdate tramite ftp...

Il download... è stato fatto... i file li scarica...

solo che siccome, il progr cercherà aggiornamenti ogni 30 minuti, i file obsoleti vengono eliminati automaticamente... quindi se cerca Update.exe e li non c'è, non lo scarica... ma non da errori anche se il file non c'è... ora veniamo al punto...

ho fatto dopo in modo da controllare, se il file sia stato davvero scaricato (verificandone l'esistenza) cosi nel caso di errore di download lo riscarica oppure se non c'è fa altri 3 tentativi e poi passa avanti.. il codice da me usato per verificare l'esistenza è questo:

Private Sub Command1_Click()
If Dir (App.Path & "\Update.exe")= "" then
msgbox "non esiste"
else
msgbox "Esiste"


queste message box naturalmente sono banali, sono solo per fare vedere il codice...

ora ecco il probl... il file (che come ho detto non c'è nel FTP) secondo questo codice esiste!!!!

cioè scarica il file (inesistente) e quando ne controlla l'esistenza (stessa cartella del progr) Dice che esiste.. quando naturalmente non c'è e non c sarà mai nulla!!! Sapete dirmi perchè? è forse il codice che sbaglio?
16/05/08 22:07
M@d_Hacker
X verificare l'esistenza dei file prova questo codice...

Private Sub Command1_Click()
Dim p As String
On Error Resume Next
p = App.Path & "\Update.exe"
check = Dir(p)
If Err <> 0 Then
MsgBox "Il nome del file non è corretto."
Exit Sub
End If
If (check <> "") Then
ret = MsgBox("IL FILE " & p & "  ESISTE", vbInformation)
Else
MsgBox "Il File non esiste!!", vbCritical
End If
End Sub
Ultima modifica effettuata da M@d_Hacker 16/05/08 22:07
aaa
16/05/08 22:15
gantonio
Ma tu sei sicuro che quando esegue la

Dir

il file non ci sia?

Mi sa che il file viene comunque creato dalla parte di codice che lo scarica da FTP (magari vuoto) e la Dir giustamente ti dice che esiste ...
aaa
17/05/08 16:04
windows ed Explorer non mostrano niente nella cartella...

provo col codice di Mad...

Ma nel caso avesse lo stesso problema.. come lo risolvo?


Grazie mille!


UPDATE:

Niente da fare... dice che c'è.. a questo punto direi che non è un errore di codice.. ma che come ha detto Gantonio, creerà un file... il problema è... come lo crea se non c'è!? O_o... e la domanda è la stessa... Come si risolve sto probl?
Ultima modifica effettuata da 17/05/08 16:16
17/05/08 18:13
P4p3r0g4
prova a farli aprire il file che trova col dir per vedere se e` vuoto o similare.
seondo me ha ragione BigG ti crea un bellissimo file vuoto.
soprattutto se usi intet.openurl(...blabla...)
aaa
17/05/08 18:22
Beh ecco è un discorso lungo:

Ecco il codice che ho usato

If Inet1.StillExecuting Then Exit Sub

'On Error GoTo Error
ResumeDownload:
Inet1.Execute "", "GET " & "Update.exe" & " " & "Update.exe"
DoEvents

If Dir(App.Path & "\Update.exe") = "" Then
MsgBox "miao" 'GoTo ResumeDownload
Else
MsgBox "yeah"
End If
    
Error:
If Inet1.StillExecuting Then Exit Sub


On Error GoTo Error2
ResumeDownload2:
Inet1.Execute "", "GET " & "IP.txt" & " " & "IP.txt"
DoEvents

If Dir(App.Path & "\IP.txt") = "" Then
GoTo ResumeDownload2
Else
Pause 3000
Open App.Path & "\IP.txt" For Input As #1
While Not EOF(1)
Text2.Text = Input(LOF(1), #1)
Wend
Close #1
Y = Text2.Text

Z = Split(Y, ":")
Text2.Text = Z(0)
Text3.Text = Z(1)

TCP.Close
Command1_Click
End If

DoEvents

Error2:

End Sub


Io qui ho pensato una cosa e cioè:

Se sul server il file non c'è.. andrà in errore...

e ho messo infatti prima del download di "update.exe" un "on error goto error" che andrebbe a saltare il download, e passa al secondo file da scaricare... "IP.txt" e anche li ho messo "on error goto error2" e porta alla fine della sub
solo che l'errore non c'è stato! quindi non so + cosa inventarmi...

non è che potete darmi un idea per avere lo stesso risultato che ho appena spiegato(spero abbiate capito :S)??

Grazie mille di tutto!

:D
17/05/08 22:04
P4p3r0g4
in questo modo ti dara` al 100% l'errore.
infatti il file dovrebbe crearlo lo stesso vuoto ma esistente
anche se non mi capacito perche` non te lo becca explorer...
Ultima modifica effettuata da P4p3r0g4 17/05/08 22:05
aaa
17/05/08 22:24
intendi nel codice che ho scritto?

non da alcun errore :-|