![]() |
Unterbricht FastReport Synchronize?
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:
Weiß jemand, ob das Drucken mit dem FastReport wieder irgendwie in einen Thread abkapselt?
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; 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 |
AW: Unterbricht FastReport Synchronize?
Zitat:
Du kannst das vielleicht etwas entschärfen, wenn du bei den EngineOptions im Report das EnableThreadSafe aktivierst:
Delphi-Quellcode:
frxReportServiceDruck.EngineOptions.EnableThreadSafe := True;
if frxReportServiceDruck.PrepareReport then frxReportBestellDruck.Print; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz