Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Drucken aus Druckvorschau (Rave5 BE) (https://www.delphipraxis.net/106487-drucken-aus-druckvorschau-rave5.html)

Fritz01 11. Jan 2008 15:50


Drucken aus Druckvorschau (Rave5 BE)
 
Hallo,
benötige wieder mal Euere Hilfe!
Möchte mir mit Rave 5.0 BE eine DruckVorschau basteln, aus der ich dann per btnClick auch drucken kann. Die Vorschau und navigieren durch die Seiten funktioniert bereits.
Bei meiner Suche in der DP fand ich folgenden Code von merlin17, genau das, was ich suche.
Delphi-Quellcode:
procedure TRvPreview.DruckenBtn(Sender: TObject);
var
  DoPrint: boolean;
  I1: integer;
  ForceCopies: integer;
begin
  if soAllowPrintFromPreview in ReportSystem.SystemOptions then begin //<-- in 'ReportSystem'
    RvRenderPrinter.NDRStream := RvRenderPreview.NDRStream;
    RvRenderPrinter.Pages := RvRenderPreview.Pages;
    if ssAllowPreviewSetup in ReportSystem.SystemSetups then begin
      with TRpSetupForm.Create(self) do try                           //<- 'TRpSetupForm'
        PreviewSetup := true;
        ReportSystem := Self.ReportSystem;
        FilePrinter := RvRenderPrinter;
        DoPrint := (ShowModal = mrOK);
        RvRenderPrinter.IgnoreFileSettings := true;
      finally
        Free;
      end; { with } 
    end else begin
      DoPrint := true;
    end; { else } 

    if DoPrint then begin
      if (RvRenderPrinter.MaxCopies <= 1) and (RvRenderPrinter.Copies > 1) then begin
        ForceCopies := RvRenderPrinter.Copies;
        RvRenderPrinter.Copies := 1;
      end else begin
        ForceCopies := 1;
      end; { else } 
      for I1 := 1 to ForceCopies do begin
        if Assigned(RvRenderPrinter.NDRStream) then begin
          RvRenderPrinter.Render(RvRenderPrinter.NDRStream);
        end else begin
          RvRenderPrinter.Render(InputStream);
        end; { else } 
      end; { for } 
      AfterPreviewPrintEvent;        
      RvRenderPrinter.NDRStream := nil
    end; { if } 
  end; { if } 
  SetButtonState;
end;
Habe mir das in eine btnClickProcedure kopiert.
Der Compiler stolpert dabei über ’ReportSystem’ in der markierten Zeile mit der Fehlermeldung:
[Fehler] Unit1.pas(108): Undefinierter Bezeichner: 'ReportSystem'
Das gilt auch für ’TRpSetupForm’, aber das ist wohl der Formular-Name. Oder??
Warum, was habe ich da übersehen? Wer weiß da Rat und kann mir helfen?
Danke
Fritz

shmia 11. Jan 2008 15:53

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Hast du die Unit "ReportSystem" mit Uses eingebunden ? Na ? Siehste.

Fritz01 11. Jan 2008 16:20

Re: Drucken aus Druckvorschau (Rave5 BE)
 
@ shmia,
danke für die superschnelle Antwort.
Richtig, die war nicht eingebunden.
Habe ich jetzt gemacht
Delphi-Quellcode:
uses
  ... RpSystem, RpDefine, RpRave, StdCtrls, RpFiler, RpRender,
  RpRenderCanvas, RpRenderPreview, RpRenderPrinter, RpCon, ReportSystem;
danach folgendes:
[Fataler Fehler] Unit1.pas(8): Datei nicht gefunden: 'ReportSystem.dcu'
Was ist da zu tun. Kann nichts in der Delphi-Rave Hilfe dazu finden.
Fritz

Aurelius 11. Jan 2008 17:19

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Der Compiler sucht die Reportsystem.dcu

Diese sollte entweder im Delphi\Projects\Bpl-Ordner (?) liegen oder in deinem Projektverzeichnis. Die dcu ist ja eine compilierte PAS-Datei. Manchmal kompiliert Delphi diese aber nicht (weiß aber auch nicht woran das liegt, vllcht kann mich ja jemand aufklären^^).

T.E. 11. Jan 2008 17:32

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Salü!

also derartige Fehler hab ich auch schon gehabt... versuch sonst noch mal die Pfade der Ravereportunits etc... in delphi neu anzugeben
oder kopier zum test die Dateien einfachmale in das Verzeichnis wo dein Projekt liegt...

Fritz01 11. Jan 2008 18:57

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Hallo,
danke für die Antworten, helfen mir da aber nicht wirklich weiter.
Im Ordner Rave5\Lib gibt es keine Datei 'ReportSystem.dcu'!
Die Uses sind so wie in #3 angegeben. Ist das denn richtig 'ReportSystem' alle anderen dcu-Dateien beginnen mit Rp und eine RpReportSystem.dcu gibt es da auch nicht.
Wer kann mir da behilflich sein? Danke
Fritz

DeddyH 11. Jan 2008 19:00

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Versuch es mal mit RpSystem (die gibt es nämlich).

Fritz01 11. Jan 2008 19:07

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Hallo DeddyH,
RpSystem ist doch drin, siehe #3 gleich am Anfang. Geht nicht! Trotzdem Danke.
Fritz

Fritz01 11. Jan 2008 23:13

Re: Drucken aus Druckvorschau (Rave5 BE)
 
Hallo nochmal,
Zitat:

Habe mir das in eine btnClickProcedure kopiert.
Der Compiler stolpert dabei über ’ReportSystem’ in der markierten Zeile mit der Fehlermeldung:
[Fehler] Unit1.pas(108): Undefinierter Bezeichner: 'ReportSystem'
Das gilt auch für ’TRpSetupForm’, aber das ist wohl der Formular-Name. Oder??
Warum, was habe ich da übersehen? Wer weiß da Rat und kann mir helfen?
Habe nun die Lösung gefunden:
ReportSysten: Zieht man das RvSystem auf die Form hat das Teil den Namen 'RvSystem1'. Umbenennen, neuer Name --> 'Reportsystem' fertig!
TRpSetupForm: Hierzu muß 'TRpSetupForm' in die USES eingebunden werden.

Da sind noch weitere Zeilen im Code die Fehlermeldungen auslösen.
Delphi-Quellcode:
RvRenderPrinter.Render(InputStream);
AfterPreviewPrintEvent;
SetButtonState;
Keine Ahnung was die bewirken, habe sie einfach gelöscht und es funktioniert trotzdem.
Werde sicher noch weitere Fragen zu Rave haben.
Mit den besten Grüßen aus Ahlhorn
Fritz


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:42 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