Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Fastreport und UHD Crafik cards (https://www.delphipraxis.net/206238-fastreport-und-uhd-crafik-cards.html)

wschrabi 2. Dez 2020 18:00

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:
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;
Wenn ich jetzt das richtig erstellte Report mittel PDF EXPORT als PDF exportieren möchte, kommt beim UHD PC eine Access Violation.
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?

himitsu 2. Dez 2020 18:41

AW: Fastreport und UHD Crafik cards
 
Zitat:

Zitat von wschrabi (Beitrag 1478417)
Wer weiß Rat?

Die da?
https://www.fast-report.com/en/support/

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:

eine Access Violation
Es lebe der Debugger oder irgendwas ala Eurekalog/MadExcept,
wo man nachsehn kann, an welcher Stelle es geknallt hat und von wo der Aufruf her kam.

wschrabi 2. Dez 2020 19:54

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:

TiGü 3. Dez 2020 09:03

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;

wschrabi 3. Dez 2020 10:56

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 12:35 Uhr.

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf