Einzelnen Beitrag anzeigen

Markus Effenberger

Registriert seit: 2. Jul 2014
44 Beiträge
 
Delphi 10.3 Rio
 
#1

Unterbricht FastReport Synchronize?

  Alt 18. Apr 2019, 19:43
Hallo Experten

In einem Projekt wird in einem OnGet in einem HTTPServer ein Ausdruck eines FAstReport angestoßen.
Weil auf das GUI zugegriffen wird, soll immer nur EIN ONGet gleichzeitig ausgeführt werden. Es darf NIEMALS zwei GLEICHZEITIG!
In einem anderen Thread gab mir schon jemand den Tipp, alles in einem Synchronize zu kapseln. (siehe Codeschnippel)


Code:
procedure TfrmMain.HTTPServerCommandGet(AContext: TIdContext;
                                        ARequestInfo: TIdHTTPRequestInfo;
                                        AResponseInfo: TIdHTTPResponseInfo);
begin

  try

    TThread.Synchronize(nil,
       procedure
       begin

         if druckerindex > -1 then
           begin
             frxReportServiceDruck.PrintOptions.Printer := Printer.Printers[druckerindex].Device;

             if frxReportServiceDruck.PrepareReport
               then         frxReportBestellDruck.Print;
           end;

         ANTWORTEN_ERZEUGEN(AContext, ARequestInfo, AResponseInfo);
         // -> AResponseInfo.ContentText

       end
    );

  except
    on e:exception do
      begin
        AResponseInfo.ContentText := 'Systemfehlermeldung vom Server: ' + e.Message;
      end;
  end;

end;
Weiß jemand, ob das Drucken mit dem FastReport wieder irgendwie in einen Thread abkapselt?
Ich habe irgendwie den Eindruck, als wenn es möglich ist, dass ein OnGet gerade ANTWORTEN_ERZEUGEN abarbeitet, während ein anderes OnGet gerade den Report druckt.

Ist das möglich?

Markus
  Mit Zitat antworten Zitat