Вверх ↑
Ответов: 4628
Рейтинг: 749
#1: 2014-05-16 14:07:25 ЛС | профиль | цитата
Отдельных функций для этого нет. Просто перед началом цикла с InternetReadFile/InternetWriteFile выполняется функция FtpCommand (http://msdn.microsoft.com/en-us/library/windows/desktop/aa384133(v=vs.85).aspx) с командой "REST <позиция>"

Некоторые соображения по работе с потоками.
После использования функций NewReadFileStream/NewWriteFileStream нужно выполнять проверку

#pas
if st.Handle = INVALID_HANDLE_VALUE then
begin
// Сообщить об ошибке
st.Free;
Exit;
end;
Иначе может быть такая ситуация, что по каким либо причинам файл не может быть открыт (TStream при этом создается нормально), а ты всеравно будешь выполнять закачку.
Также st.Write возвращает количество записанных данных. Нужно проверять равно ли оно тому количеству, которое требовалось записать. Если нет - значит ошибка записи (например, закончилось место на диске или ещё что-то)
карма: 26

0