AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Rave7, Reporterstellung abbrechen, aber wie?

Offene Frage von "bug0815"
Ein Thema von bug0815 · begonnen am 29. Nov 2007 · letzter Beitrag vom 10. Jan 2008
Antwort Antwort
bug0815

Registriert seit: 17. Jan 2004
14 Beiträge
 
Delphi 2006 Enterprise
 
#1

Rave7, Reporterstellung abbrechen, aber wie?

  Alt 29. Nov 2007, 10:48
Erst mal eine kurze Beschreibung des Problems:
Um im Falle einer Änderung an meinen Dokumenten (Reports) nicht immer die *.exe austauschen zu müssen, will ich gern alle nötigen Informationen im *.rav File vorhalten. Dazu gehört auch die Plausiprüfung.
Nun hab ich leider das Problem, dass ich im Falle einer negativen Plausiprüfung die Erstellung des Reports nicht abbrechen kann. Die Funktionen .Abort und .AbortPage stehen leider nur in Delphi zur Verfügung und können im RaveEvent anscheinend nicht verwendet werden.

Anbei der Code im RaveEvent: (Achtung, kein Delphi Quellcode)
Code:
{ Event for Test.OnBeforeReport }
function Test_OnBeforeReport(Self: TRaveReport);
begin
  //Die nötigen Plausiprüfungen durchführen
  if (RaveProject.GetParam('T_Flag11') = '0') and
     (RaveProject.GetParam('T_Flag12') = '0') and
     (RaveProject.GetParam('T_Flag13') = '0') then
    ShowMessage('Bitte in der Gruppe Block 1 einen Auswahl treffen!');

    //Erstellung des Reports hier abbrechen!!

  end if;

  if (RaveProject.GetParam('T_Flag21') = '0') and
     (RaveProject.GetParam('T_Flag22') = '0') and
     (RaveProject.GetParam('T_Flag23') = '0') then
    ShowMessage('Bitte in der Gruppe Block 2 einen Auswahl treffen!');

    //Erstellung des Reports hier abbrechen!!
 
  end if;
end OnBeforeReport;
Wäre super, wenn wer einen Ansatz für dieses Problem hätte...
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Rave7, Reporterstellung abbrechen, aber wie?

  Alt 29. Nov 2007, 12:11
Mach dich doch mal schlau, ob man in diesem Pascal-Script auch eine Exception erzeugen kann.
z.B. raise EAbort.Create('Druck abgebrochen')

Falls das nicht geht, versuche über den Parameter Self: TRaveReport etwas auszurichten.
z.B. self.Stop oder self.PageCount := 0.
Ich habe selbst kein Rave auf dem Rechner, kann also nur versuchen dich in die richtige Richtung zu schubsen.
Andreas
  Mit Zitat antworten Zitat
bug0815

Registriert seit: 17. Jan 2004
14 Beiträge
 
Delphi 2006 Enterprise
 
#3

Re: Rave7, Reporterstellung abbrechen, aber wie?

  Alt 29. Nov 2007, 12:32
Danke für die Anregungen,

die "Rave-Script Sprache" stellt nur einen sehr geringen Funktionsumfang bereit. Daher hab ich auch keine Möglichkeit gefunden eine Exception gezielt auszulösen. Alle in der Dokumentation zur Verfügung stehenden Funktionen (Self.xxxx) bin ich schon durchgegangen, leider ohne Erfolg.

Hier hilft mir wahrscheinlich nur ein Trick oder die eine oder andere undokumentierte Funktion weiter.
  Mit Zitat antworten Zitat
merlin17

Registriert seit: 15. Dez 2002
Ort: Mittelfranken
980 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: Rave7, Reporterstellung abbrechen, aber wie?

  Alt 10. Jan 2008, 22:11
Hallo,
beim Suchen hier in der DP habe ich Deine Posting gerade gesehen...

ein Abbruch aus dem RaveScripting gibt es bisher nicht ...
So auf die Schnelle fällt mir nur der Weg über die RvDataset-ereignisse ein, hier kannst du
bei jeder Datenzeile ja prüfen und dann den Bericht über die BaseReport.Abort stoppen (habe ich aber noch nie gemacht ...)


thomas
- TeamNevrona cannot respond to questions received via email -
http://rave-notes.blogspot.com
  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 11:22 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