Visual Basic Code , VB.NET Code, VB Code
  Home   :  Code   :  Forums   :  Submit   :  Mailing List   :  About   :  Contact


Problem related to InternetWriteFile


Problem related to InternetWriteFile

Author
Message
M.L.Srinivas
M.L.Srinivas
Forum God
Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)Forum God (3K reputation)

Group: Forum Members
Posts: 17, Visits: 1

Hi,

I am facing a problem related to InternetWriteFile of WININET API.

I am in the process of developing a FTP program, which periodically check a local directory and uploads the any few files available in that directory.

I am using Wininet (internetwritefile) to transfer for the file. I am able to show the progress also. The problem comes only when there is connection error/break while file transfer.

The execution never stops (probably it doesn't get timed out). How to overcome this problem?
I want to return an error when the data flow is obstructed for about certain amount of time and restart the entire process after sometime. Currently my application gets hanged.

Any sort of help is appreciated.

Here is my code:

        hFile = FtpOpenFile(hConnection, szFileRemote, &H40000000, dwType, 0)
        If hFile = 0 Then
            ErrorOut Err.LastDllError, "FtpOpenFile"
            Txtstr.WriteLine "Unable to open file on remote server"
            GoTo CloseObjects
        End If
        Open CurFile For Binary Access Read As #1
        Size = LOF(1)
       
        For j = 1 To Size \ 100
            Get #1, , Data
            If (InternetWriteFile(hFile, Data(0), 100, Written) = 0) Then
                Close #1
                ErrorOut Err.LastDllError, "InternetWriteFile"
                GoTo CloseObjects
            End If
            DoEvents
            sum = sum + 100
            Sbar.Panels(1).Text = CStr(Round((sum * 100) / lLocalflsize)) & "%"
            DoEvents
            Pbar1.Value = sum
        Next j
        If Size Mod 100 <> 0 Then
        Get #1, , Data
        If (InternetWriteFile(hFile, Data(0), Size Mod 100, Written) = 0) Then
                Close #1
                ErrorOut Err.LastDllError, "InternetWriteFile"
                GoTo CloseObjects
        End If 'internet file
        End If 'If Size Mod 100 <> 0
       
        sum = sum + (Size Mod 100)
       
        Sbar.Panels(1).Text = CStr(Round((sum * 100) / lLocalflsize)) & "%"
        Close #1
        InternetCloseHandle (hFile)


Thanks
M.L.Srinivas


GO


Similar Topics


Reading This Topic


Login
Existing Account
Email Address:


Password:


Social Logins

Select a Forum....

















A1VBCode Forums


Search