Delphi XE2 DataSnap - загрузка файла через TStream с индикатором выполнения

Я написал метод сервера DataSnap, который возвращает объект TStream для передачи файла. Клиентское приложение вызывает метод и нормально читает поток. Моя проблема в том, что для завершения вызова метода требуется время, прежде чем объект TStream станет доступным для чтения, но на стороне сервера я вижу, что вызов метода занимает всего секунду для создания возвращаемого объекта. Я надеялся, что объект потока будет возвращен немедленно, чтобы я мог прочитать поток и отобразить индикатор выполнения загрузки. Есть ли другой способ сделать это?

Метод сервера очень прост:

function TServerMethods.DespatchDocument(sCompanyID, sDocOurRef: string): TStream;
var
  sSourceFilePath: string;
  strFileStream: TFileStream;
begin
  sSourceFilePath := GetDocumentPDFFilePath(sCompanyID, sDocOurRef);

  strFileStream := TFileStream.Create(sSourceFilePath, fmOpenRead);
  Result := strFileStream;
end;
8
задан Andrey Zverev 26 February 2012 в 22:29
поделиться