Frage

Nevrona Designs' Rave Reports für die Verwendung von Embarcadero Delphi IDE.

Das ist, was ich die Rave Endlos-Schleife Fehler nennen. In Rave Report Version 6.5.0 (VCL10), die mit Delphi 2006, es kommt gebündelt ist ein nortorious Fehler, der viele Rave Bericht Entwickler plagt. Wenn Sie eine Nicht-leer-Datensatz und die Datenzeilen zu diesem Datensatz passen genau in eine Seite (das ist es, sagen Null Witwe Zeilen), dann auf Printpreview, Rave wird in einer Endlosschleife zu erzeugen Seiten stecken.

Dieses Problem ist in dieser Newsgroup unter dem zuvor berichtet wurde, folgende Überschriften:

  1. "Fehler: Erzeugen von unendlichen Seiten"; Hugo Hiram 20/9/2006 8.44
  2. "Rave Schleife Bug Bitte helfen."; Tomas Lazar 11.07.2006 7.35
  3. "Loop auf ganze Seite von Daten?"; Tony Chistiansen 23.12.2004 3.41
  4. Antwort auf (3) von einem anderen Beschwerdeführer; Oliver Piche
  5. "Endless lopp Druck bug"; Richso 2004.09.11 16.44

In jedem dieser Nachrichten gibt es keine Antwort von Nevrona und keine Lösung berichtet wurde.

Möglicherweise hat sich das Problem auch auf einem verbündeten Newsgroup berichtet (Nevrona.public.rave.reports.general), nämlich: 6. „Kontinuierlich Generierung Bericht“; Jobard 20.11.2005 Obwohl es mir nicht klar, ob (6) die Rave Endlos-Schleife Bug ist oder ein weiteres Problem. Dieser Beitrag hat eine Antwort von Nevrona bekommen, aber es war mehr in Bezug auf mehrere Regionen ( "Es gibt ein Problem bei der Verwendung von mehrere Regionen, die über einen Seitenumbruch zu gehen. ") als das Problem der Null Witwen.

War es hilfreich?

Lösung

Dies ist eher ein Workaround als eine echte Lösung. Ich stellte erste Work-around auf der Nevrona Newsgruppe (Gruppe = nevrona.public.rave.developer.delphi.rave; Subject = "Bist du von der Rave Endlos-Schleife Fehler leiden ?: Work-around angekündigt."; Date = 13 / 11/2006 07.06)

So, hier ist meine Lösung. Es ist eher eine Behelfslösung als eine gute langfristige Lösung, und ich hoffe, dass Nevrona diesem Thema geben wird einige ernsthafte Aufmerksamkeit in der nahen Zukunft.

  1. Bei Ihrem speziellen Berichtslayout, zählen die maximale Anzahl der Zeilen pro Seite. Lassen Sie uns sagen, dass dies 40.
  2. Stellen Sie einen Zähler für die Zeilen innerhalb der Seite zu zählen (im Gegensatz zu Zeilen im gesamten Bericht gegenüber). Sie können dies tun, indem Ereignisskript oder durch eine CalcTotal Komponente.
  3. Definieren Sie eine OnBeforePrint scripted Ereignishandler für den Haupt-Datenband.
  4. In diesem Event-Handler stellen Sie die FinishNewPage Eigenschaft des Hauptdatenband um wahr zu sein, wenn die Zeile-pro-Seitenzahl ein oder zwei unterhalb der max ist (in unserem Beispiel würde 38 sein). Und setzt es in allen anderen Fällen auf False. Die Folge davon ist, jeder Seite eine von Null verschiedenen Zahl der Witwen (in diesem Fall 1..38) zu ergeben, so dass die Bedingung zu vermeiden, die zu der Rave Endlos-Schleife Problem gibt.

Andere Tipps

Vielen Dank für diesen Sean - leider wäre dies für mich nicht, aber ich kam mit einer anderen Lösung nach oben ... Sie sehen, ich habe ein Memo an der Spitze der Region, die je nach könnte ausdehnen oder zusammenziehen, wie viele Hinweise der Benutzer in der Datenbank verlassen hat. Dies bedeutet, dass die Anzahl der Zeilen, die variiert auf einer Seite passen. Jedoch. gibt es eine andere Lösung - Sie MaxHeightLeft Eigenschaft eines Datenband verwenden. Alles, was Sie tun, ist die Höhe Ihrer Datenband messen, multipliziert es mit 2, und dies in Ihrer MaxHeightLeft Eigenschaft setzen. Dies zwingt 1 oder 2 Datensätze auf der nächsten Seite, wenn es voll ist, dass viel.

danken ist viel, dieser Thread hilft mir, mit Endlosdruckschleife von meinem Problem heraus in Nevrona Rave ...., habe ich MinHeightLeft bis 0500, ist diese Einstellung der Arbeit, aber ich bin mir nicht sicher, dass es für anothers Arbeit führen Satz von meiner Anfrage Bericht.

Master, Die Lösung wird MinHeightLeft bis 0500, ich benutze Eigenschaft wastefit Bereich in wahr und erzeugt die Schleife in der zweiten Druck, aber wenn die Eigenschaft MinHeightLeft bis 0500 der Fehler disapear geändert.

Danke!

Atte Fabiola Herrera. Fabi_ucv@hotmail.com

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top