Cari forumisti.

Sono nuovo di questo forum, ho un problema che mi sta mandando in reparto psichiatria alla sezione programmatori-scarsi-impazziti.

Ho scritto un piccolo programma in VB Express Edition perchè ho necessità di scaricare da un sito FTP un file per copiarlo in una precisa cartella. Sul web ho trovato questo codice che metto sotto, ma alla riga 'QUI ERR' mi da un errore di "Tentativo di lettura o scrittura della memoria protetta". Qualcuno sa qualcosa?

Grazie infinite.
PS. forse causa mia ignoranza erroneamente ho aperto una nuova discussione.... scusate...

Public Class codice_1

Const INTERNET_SERVICE_FTP = 1
Const INTERNET_OPEN_TYPE_DIRECT = 1
Const INTERNET_FLAG_PASSIVE = &H8000000
Const FTP_TRANSFER_TYPE_BINARY = 0
Const FILE_ATTRIBUTE_ARCHIVE = &H20

Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" _
(ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _
ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long

Private Declare Function FtpGetFile Lib "wininet.dll" Alias "FtpGetFileA" _
(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, ByVal lpszNewFile As String, _
ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim hOpen&, hConn&
Dim lRes, scUserAgent As String

scUserAgent = "pippo"

hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, vbNullString, vbNullString, 0)

'QUI ERR
hConn = InternetConnect(hOpen, "ftp://ftp.peppo.com", "21", "Anonymus", vbNullString, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
'--------

lRes = FtpGetFile(hConn, "pappo.txt", "C:\directory", False, FILE_ATTRIBUTE_ARCHIVE, FTP_TRANSFER_TYPE_BINARY, 0&)

InternetCloseHandle(hConn)

InternetCloseHandle(hOpen)

End Sub