AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge RaveReport Error #40 Boolean expression expected
Thema durchsuchen
Ansicht
Themen-Optionen

RaveReport Error #40 Boolean expression expected

Ein Thema von TUX_der_Pinguin · begonnen am 27. Jan 2014 · letzter Beitrag vom 6. Feb 2014
Antwort Antwort
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#1

RaveReport Error #40 Boolean expression expected

  Alt 27. Jan 2014, 14:31
So ich hoffe jemand von euch weiß woran das liegen kann das wenn ich folgende Routine ein
weiteres mal aufrufe das dann ein Fehler gemeldet wird. "Error #40 - Boolean expression expected".
Der erste Durchlauf funktioniert einwandfrei und dann war es das, ich muss die Anwendung beenden
und kann dann die Routine erst dann wieder benutzen.

Ich bekomme den Fehler weg wenn ich die Zeile RvProject.ProjMan.Compile weglasse nur dann werden
auch die Ereignisse nicht erzeugt. Und bei google findet sich nur ein Eintrag mit der gleichen
Fehlermeldung, hier aus dem Forum, nur ohne eine Lösung.


Delphi-Quellcode:
procedure PrintReport;
var
  Report: TRaveReport;
  Page: TRavePage;
  DataBandTabData: TRaveDataBand;
  DV_TabData: TRaveDataView;
  Event: TRaveSimpleEvent;

begin
  //Report öffnen & Komponenten ermitteln
  RvProject.ProjectFile := glLocalAppDir+FILE_REPORT_GENERAL;
  RvProject.Open;
  Report := RvProject.ProjMan.FindRaveComponent('MyReport', nil) as TRaveReport;
  Page := RvProject.ProjMan.FindRaveComponent('Page1', Report) as TRavePage;
  DataBandTabData := RvProject.ProjMan.FindRaveComponent('DataBandTabData', Page) as TRaveDataBand;
  DV_TabData := RvProject.ProjMan.FindRaveComponent('DV_TabData', Page) as TRaveDataView;
  CreateFields(DV_TabData, nil, nil, True);

  //Feld erstellen
  DataText := DataBandTabData.CreateChild(TRaveDataText, 'dt_DynamischerFeldName') as TRaveDataText;
  DataText.DataField := 'DynamischerFeldName';
  DataText.DataView := DV_TabData;

  //Event erzeugen
  Event := TRaveSimpleEvent.Create;
  Event.Name := TableLayout.Tabs[Idx].Key+'OnBeforePrint';
  Event.ModuleOwner := Page;
  Event.Sender := DataText;
  Event.Owner := DataText;
  Event.Body := 'Self.Color := '+IntToStr(clRed)+';';

  //Event zuweisen
  DataText.OnBeforePrint := Event;

  //Event kompilieren
  RvProject.ProjMan.Compile;

  //Report ausführen und schließen
  RvProject.ExecuteReport('MyReport');
  RvProject.Close;

end;
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: RaveReport Error #40 Boolean expression expected

  Alt 27. Jan 2014, 14:50
Hast du es mal mit dem Debugger versucht und geschaut wo er stehen bleibt?

Edit: Vielleicht liegt es ja an der CreateFields() Prozedur.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: RaveReport Error #40 Boolean expression expected

  Alt 27. Jan 2014, 14:58
Du createst einiges in dieser procedure, das du nicht wieder frei gibst, evtl. liegt es daran.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: RaveReport Error #40 Boolean expression expected

  Alt 27. Jan 2014, 15:48
Hast du es mal mit dem Debugger versucht und geschaut wo er stehen bleibt?
Also Debuggen kann ich da nichts, er bleibt bei RvProject.ExecuteReport(''); hängen da der Fehler irgendwo in den Eingeweiden vom Rave System auftritt.
Und da bei der Delphi Version keine Quelltexte von Rave dabei sind kann man auch nicht sehen wo genau der Fehler ausgelöst wird.

Du createst einiges in dieser procedure, das du nicht wieder frei gibst, evtl. liegt es daran.
Daran habe ich auch schon gedacht nur wenn ich z.b. versuche nach ExecuteReport oder Close z.b. das Ereignis mit Event.Free freizugeben dann bekomme ich einen Zeigerfehler.

In den Beispielen von Nevrona, wo es darum geht Felder etc. zuerzeugen wird auch nichts explizit freigegeben am Ende. Die Beispiele enthalten leider nicht die Erzeugung von Ereignissen bzw. die
Ausführung des Kompiler.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: RaveReport Error #40 Boolean expression expected

  Alt 28. Jan 2014, 06:10
Bevor du das Event freigeben kannst, musst du die Zuordnung DataText.OnBeforePrint auf NIL setzen. Aber muss Datatext nicht ebenfalls freigegeben werden? Ist DataText global deklariert?
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)

Geändert von baumina (28. Jan 2014 um 06:18 Uhr)
  Mit Zitat antworten Zitat
TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: RaveReport Error #40 Boolean expression expected

  Alt 28. Jan 2014, 08:01
Bevor du das Event freigeben kannst, musst du die Zuordnung DataText.OnBeforePrint auf NIL setzen. Aber muss Datatext nicht ebenfalls freigegeben werden? Ist DataText global deklariert?
DataText ist lokal deklariert, ich hatte es nur vergessen in meinem Beispiel anzugeben im echten Code
ist es aber da.

Ich habe keinen Schimmer was ich noch ausprobieren soll, in allen Beispielen sowohl mit als auch ohne
Ereignis Erzeugung wird nach RvProject.ProjMan.Compile nichts freigegeben oder durch weitere Befehle zurückgesetzt.
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: RaveReport Error #40 Boolean expression expected

  Alt 28. Jan 2014, 08:41
Ich würde an deiner Stelle versuchen den Report vor dem Compile auf Festplatte zu speichern und ihn mir dann anschauen.
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  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 10:31 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