AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Delphi FastReports Seitenbreite zur Laufzeit einstellen
Thema durchsuchen
Ansicht
Themen-Optionen

FastReports Seitenbreite zur Laufzeit einstellen

Ein Thema von TurboMagic · begonnen am 6. Dez 2023 · letzter Beitrag vom 7. Dez 2023
Antwort Antwort
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#1

FastReports Seitenbreite zur Laufzeit einstellen

  Alt 6. Dez 2023, 17:54
Hallo,

ich versuche bei einem FastReports (EMBT Edition, D11.3) Druckreport zur Laufzeit die Seitenbreite zu ändern.

DMReceipt.frxReceipt69mm.Pages[0].Width := FPrintSettings.ReceiptWidth; Wobei frxReceipt69mm das TfrxReport Objekt ist.
In den Bands sind Steuerelemente drin, die rechts verankert sind (aber nicht links),
nur stelle ich beim Ausdrucken keinen Unterschied fest (Seitenbreite 69,5 mm vs. 80 mm)

Ich mache das direkt nach dem frxReceipt69mm.LoadFromFile, also noch vor einem Prepare etc.
Wo liegt mein Denkfehler?
Versuche ich das mit .Page := statt Pages[0] crasht es mit AV.
Die Seite ist als unendlich hoch definiert, breite ist aber nicht unendlich.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Ancaron

Registriert seit: 24. Nov 2007
6 Beiträge
 
#2

AW: FastReports Seitenbreite zur Laufzeit einstellen

  Alt 6. Dez 2023, 20:23
Hast du mal nachgeschaut ob Pages[0] auch die erste Seite ist oder ist es die Datapage?
Ich habe das was im Hinterkopf, dass Fastreport auch die DataPage mit in dem Array hat.

Edit: Habe mal nachgeschaut bei mir und Ich hatte zwar etwas anderes an den Pages geändert aber bin immer über die Pages gelaufen und habe auf
Zitat:
frxReportMain.Pages[iPage] is TfrxReportPage
oder
Zitat:
frxReportMain.Pages[iPage] is TfrxDataPage
geprüft

Geändert von Ancaron ( 6. Dez 2023 um 20:27 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#3

AW: FastReports Seitenbreite zur Laufzeit einstellen

  Alt 7. Dez 2023, 17:21
Hallo,

danke für den Tipp. Habe den ausprobiert, hat dann zwar tatsächlich 2 Seiten ergeben
und nur die 2. ist "is". Hat aber trotzdem keinen Unterschied in der Druckbreite ergeben.

Soweit ich die Doku verstanden habe, müsste ich da ja frxReceipt69mm.Pages[i].Width := 80;
angeben.

Oder was mache ich sonst noch falsch?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
mytbo

Registriert seit: 8. Jan 2007
461 Beiträge
 
#4

AW: FastReports Seitenbreite zur Laufzeit einstellen

  Alt 7. Dez 2023, 18:34
Oder was mache ich sonst noch falsch?
Im Anhang dieses Posts findest du ein Beispiel mit Quelltext.

Bis bald...
Thomas
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.825 Beiträge
 
Delphi 12 Athens
 
#5

AW: FastReports Seitenbreite zur Laufzeit einstellen

  Alt 7. Dez 2023, 18:56
Danke! Das hat mich auf die Spur gebracht.
Ich hatte vergessen zu casten und deshalb keine PaperWidth verfügbar.

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz