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;