![]() |
Ravereport TRvSystem OnPrint
Hallo,
leider bin ich kein Delphianer sondern eher aus der Builder-Fraktion. Ich denke aber, dass mein Problem damit nichts zu tun hat. Es geht um den Rave ![]() Leider funktioniert das OnPrint-Event bei mir nicht. Ich benutze noch BCB 5.0 und BEX 5.1.2. Die Events für BeforePrint und AfterPrint sind ok, es wird auch etwas gedruckt. Ich habe gesehen, dass es schon mal etwas ähnliches gegeben hat. "[Rave] Vorlagen zur Laufzeit automatisch ausfüllen" Im Prinzip hab ich es auch so gemacht, eben nur mit dem Builder: //-------------------------------------------------------------------------- //Header File: //--------------------------------------------------------------------------- class TForm1 : public TForm { __published: // Von der IDE verwaltete Komponenten TRvProject *RvProject1; TRvSystem *RvSystem1; TButton *Button1; void __fastcall Button1Click(TObject *Sender); void __fastcall RvSystem1BeforePrint(TObject *Sender); void __fastcall RvSystem1Print(TObject *Sender); void __fastcall RvSystem1AfterPrint(TObject *Sender); private: // Anwender-Deklarationen public: // Anwender-Deklarationen __fastcall TForm1(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE TForm1 *Form1; //--------------------------------------------------------------------------- #endif //-------------------------------------------------------------------------- // CPP - File //-------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { RvProject1->Open(); RvProject1->Execute(); RvProject1->Close(); } //--------------------------------------------------------------------------- // THIS IS FIRED void __fastcall TForm1::RvSystem1BeforePrint(TObject *Sender) { MessageDlg("Hi BeforePrint", mtInformation, TMsgDlgButtons() << mbOK,0); } //--------------------------------------------------------------------------- // THIS IS NOT FIRED void __fastcall TForm1::RvSystem1Print(TObject *Sender) { MessageDlg("Hi On Print", mtInformation, TMsgDlgButtons() << mbOK, 0); } //--------------------------------------------------------------------------- // THIS IS FIRED void __fastcall TForm1::RvSystem1AfterPrint(TObject *Sender) { MessageDlg("Hi AfterPrint", mtInformation, TMsgDlgButtons() << mbOK, 0); } //--------------------------------------------------------------------------- Die einzige Erkenntnis die ich inzwischen gewonnen habe ist, dass das OnPrint-Event dann stattfindet wenn im BeforePrint-Event mit RvSystem1->BaseReport->OnPrint = RvSystem1Print; das Event manuell zugewiesen wird. Dann feuert zwar der Event aber eine Steuerung der Reports mit TBaseReport *l_br = dynamic_cast<TBaseReport*>(Sender); if (l_br) { RvProject1->ExecuteReport("Report1"); l_br->NewPage(); RvProject1->ExecuteReport("Report2"); } so wie im Beispiel ist nicht möglich. Es wird immer nur der Report1 gedruckt. :gruebel: Please Help! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz