View Full Version : [VB] cancellare un file via FTP
Dopo avervi stressato su come mandare un file via FTP con Vbasic... ora non mi resta che chiedervi come cancellarlo!!!
Grazie 1000
Applicato al programma che abbiamo fatto insieme viene così:
Private Declare Function FtpDeleteFile Lib "wininet.dll" Alias "FtpDeleteFileA" (ByVal hFtpSession As Long, ByVal lpszFileName As String) As Boolean
call FtpDeleteFile(lConnection, FileName)
"insieme"
direi che hai fatto.
Grazie ancora
Originariamente inviato da beog
"insieme"
direi che hai fatto.
Grazie ancora
Va be dai nn stiamo a vedere questi particolari :oink:
Ma è giusto scrivere una cosa del genere in un pulsante?
Dim lOpen As Long
Dim lConnection As Long
lOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
lConnection = InternetConnect(lOpen, Hoste, INTERNET_INVALID_PORT_NUMBER, Account, Passw, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
Call FtpDeleteFile(lConnection, cartellaFTP & CFlusso)
Call InternetCloseHandle(lConnection)
Perchè mi sembra che la connessione resti aperta anche dopo aver cancellato il file
E da cosa lo capisci che rimane aperta?
Perchè dopo un po che canc file mi comincia dare err di connessione e con WS_FTP mi dice che ci sono + di 5 account su quel FTP
...mmm il codice sembra corretto controlla solo che sia lOpen e lConnection siano diversi da 0 altrimenti nn fargli fare altro!
Ho provato anche così, però il prob sembra persistere
Function CancFileFTP() As Boolean
Dim sFileRemote As String
Dim sDirRemote As String
Dim lOpen As Long
Dim lConnection As Long
'trasferisco il file nel FTP
DoEvents
lOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
lConnection = InternetConnect(lOpen, Hoste, INTERNET_INVALID_PORT_NUMBER, Account, Passw, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
If lOpen <> 0 And lConnection <> 0 Then
sDirRemote = cartellaFTP 'root
sFileRemote = CFlusso
Call FtpDeleteFile(lConnection, sDirRemote & sFileRemote)
Call InternetCloseHandle(lConnection)
End If
End Function
Prova così:
Function CancFileFTP() As Boolean
Dim sFileRemote As String
Dim sDirRemote As String
Dim lOpen As Long
Dim lConnection As Long
'trasferisco il file nel FTP
DoEvents
lOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)
lConnection = InternetConnect(lOpen, Hoste, INTERNET_INVALID_PORT_NUMBER, Account, Passw, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
If lOpen <> 0 And lConnection <> 0 Then
sDirRemote = cartellaFTP 'root
sFileRemote = CFlusso
Call FtpDeleteFile(lConnection, sDirRemote & sFileRemote)
Call InternetCloseHandle(lConnection)
End If
Call InternetCloseHandle(lOpen)
End Function
Penso ci sia un prob più grosso perchè a volte spedisce o cancella i file, altre volte no.
Se es. clicco 2 volte consecutive sul pulsante per spedire un file la prima volta lo spedisce la 2a no... poi asp un po, riprovo e va...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.