Re[6]: Asynchronous Pluggable Protocol http-заголовки, post и put данные
От: Aniskin  
Дата: 17.04.15 06:16
Оценка:
Здравствуйте, east, Вы писали:

E>Т.е. записать данные в кеш и не сообщать, что данные готовы, чтобы не вызывался Read?


Сообщить, что есть файл вызовом ProtocolSink.ReportProgress(BINDSTATUS_CACHEFILENAMEAVAILABLE), и при поступлении данных писать их в этот файл. При этом если Read вызывается, то и отдавать полученные данные.

Я делаю следующие вызовы:

ProtocolSink.ReportProgress(BINDSTATUS_FINDINGRESOURCE, PWideChar(Url));
ProtocolSink.ReportProgress(BINDSTATUS_CONNECTING, PWideChar(Url));
ProtocolSink.ReportProgress(BINDSTATUS_SENDINGREQUEST, PWideChar(Url));
ProtocolSink.ReportProgress(BINDSTATUS_MIMETYPEAVAILABLE, PWideChar(Response.MIMEType));
ProtocolSink.ReportProgress(BINDSTATUS_CACHEFILENAMEAVAILABLE, PWideChar(Stream.FileName));
ProtocolSink.ReportData(BSCF_FIRSTDATANOTIFICATION, 0, 0);
ProtocolSink.ReportData(BSCF_INTERMEDIATEDATANOTIFICATION, Saved, Size); // Много раз
ProtocolSink.ReportData(BSCF_LASTDATANOTIFICATION or BSCF_DATAFULLYAVAILABLE, Saved, Size);
ProtocolSink.ReportResult(S_OK, Response.Status, nil);

Все это происходит из отдельного потока.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.