![]() |
Fastreport und UHD Crafik cards
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Leute,
mein Problem: Ich habe einen PC mit und ohne UHD Grafik. Ich lade in ein FR 2 Bilder so: (Delphi Berlin und FR 6)
Delphi-Quellcode:
Wenn ich jetzt das richtig erstellte Report mittel PDF EXPORT als PDF exportieren möchte, kommt beim UHD PC eine Access Violation.
procedure TForm7.frxReportRiskBeforePrint(Sender: TfrxReportComponent);
begin if Sender.Name = 'Picture2' then TfrxPictureView(Sender).Picture.Assign( Chart1.TeeCreateMetafile(False, Rect(0, 0, Round(Sender.Width), Round(Sender.Height)))); if Sender.Name = 'Picture3' then TfrxPictureView(Sender).Picture.Assign( Chart3.TeeCreateMetafile(False, Rect(0, 0, Round(Sender.Width), Round(Sender.Height)))); end; Beim NON-UHD PC nicht. Auch kann ich nicht den gesaveden prepared FR vom UHD PC am NON-UHD PC nach laden als PDF exportieren. Wer weiß Rat? |
AW: Fastreport und UHD Crafik cards
Zitat:
![]() Hier haben zwar einige der Entwickler auch UHD-Monitore, und wir haben auf einigen Reports auch "Bilder" drauf, aber ich habe noch nicht gehört, dass es da irgendwelche Probleme gibt. Also am FastReport selbst wird es vermutlich nicht liegen. Ich glaube auch es gab irgendwo auch TeeChart auf den Reports, aber ich weiß grade nicht wie die dort drauf kommen (noch nicht gesucht) und es kann sein, dass gerade diese Reports in letzter Zeit auf jenen UHD-Rechnern/Monitoren noch nicht gedruckt wurden. Zitat:
wo man nachsehn kann, an welcher Stelle es geknallt hat und von wo der Aufruf her kam. |
AW: Fastreport und UHD Crafik cards
Hallo also es liegt am Metafile. Wenn ich das CART als JPG Exportiere und dann einbinde geht es. ABer das Metafile Format macht Probleme.:oops:
|
AW: Fastreport und UHD Crafik cards
Delphi-Quellcode:
// einfach mal den Quelltext anders gestaltet, vielleicht hilft dir das schon etwas weiter
// das eigentliche Problem einzukreisen! procedure TForm7.frxReportRiskBeforePrint(Sender: TfrxReportComponent); var LRect: TRect; LMetaFile: TMetafile; LChart: TChart; begin // erstmal gucken, ob der Sender überhaupt der richtige Typ ist if Sender is TfrxPictureView then begin LChart := nil; // unter der Voraussetzung, dass deine TfrxPictureView-Komponenten so heißen, machen wir // hier nur den Vergleich von zwei Objekt(-Zeigern), was schneller geht als der alte Stringvergleich if Sender = Picture2 then begin LChart := Chart1; end else if Sender = Picture3 then begin LChart := Chart3; end; // hier bietet es sich an, dass in Teilfunktionen zu zerlegen (nicht gezeigt) if Assigned(LChart) then begin // hier war irgendwie Round für Width und Height mit drin? Braucht man in der VCL nicht und // ich bin sicher, dass in FMX der Typ TRect auch mit Integern ist. LRect := Rect(0, 0, Sender.Width, Sender.Height); LMetaFile := LChart.TeeCreateMetafile(False, LRect); try TfrxPictureView(Sender).Picture.Assign(LMetaFile); finally // wer erzeugt, muss auch freigeben, siehe auch die Doku dazu: // http://www.teechart.net/docs/teechart/vclfmx/lib/html/TCustomTeePanel.TeeCreateMetafile.html LMetaFile.Free; end; end; end; end; |
AW: Fastreport und UHD Crafik cards
Recht herzlichen DANK, TIGü, wieder durch Deinen Code viel gelernt.
:-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 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-2025 by Thomas Breitkreuz