Delphi XE2 DataSnap - Download-Datei per TStream Mit Fortschrittsbalken

Ich geschrieben habe, ein DataSnap-server-Methode zurückgibt, die ein TStream-Objekt eine Datei zu übertragen. Die client-Anwendung ruft die Methode auf und liest den stream in Ordnung. Mein Problem ist, dass der Methodenaufruf dauert eine Weile, bis Sie abgeschlossen ist, bevor die TStream-Objekt verfügbar ist, zu Lesen, aber auf der server-Seite kann ich sehen, dass der Aufruf der Methode dauert nur eine Sekunde, erstellen Sie das Objekt wieder. Ich hatte gehofft, dass das stream-Objekt zurückgegeben werden sofort, so dass ich Lesen kann das streamen und die Anzeige eines Fortschrittsbalken für den download-Fortschritt. Gibt es einen anderen Weg kann ich das machen?

Server-Methode ist sehr einfach :

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;
Schreibe einen Kommentar