Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.219.63.90] |
|
Сообщ.
#1
,
|
|
|
Доброго времени суток! Подскажите, пожалуйста, как мне время скачивания файла отследить. У меня задача следующая. Во время скачивания файла поставить счётчик (думаю, по таймеру) и засечь 10 секунд от начала до конца. Если за 10 сек. не удастся скачать (сайт висит и т.д...), перейти к скачиванию другого файла.
У меня проблема в том, что ф-я DownloadFile вешает программу полностью. Возможно, есть какие-то другие, более простые варианты. Например, как-нибудь определить, есть ли вообще связь с сайтом. Как-нибудь.. GET или тому подобное.. ? Option Explicit Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long Event ErrorDownload(FromPathName As String, ToPathName As String) Event DownloadComplete(FromPathName As String, ToPathName As String) Public Function DownloadFile(FromPathName As String, ToPathName As String) As LogVar If URLDownloadToFile(0, FromPathName, ToPathName, 0, 0) = 0 Then DownloadFile = 1 RaiseEvent DownloadComplete(FromPathName, ToPathName) Else DownloadFile = 0 RaiseEvent ErrorDownload(FromPathName, ToPathName) End If End Function |
Сообщ.
#2
,
|
|
|
URLDownloadToFile - синхронна. А callback Вы не определяете. так что Вы сами себе обрубили возможность прервать загрузку.
Используйте другие методы загрузки. Например, с помощью Internet Transfer Control. |
Сообщ.
#3
,
|
|
|
Akina, спасибо Вам огромное, разобрался!
|