Home nardmoseley Comments
New Blog Posts: Merging Reports - Part 1 and Part 2

nardmoseley

About

Username
nardmoseley
Joined
Visits
8,057
Last Active
Roles
Administrator

Comments


  • Waler is still active. I would try sending another email.

    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com


  • - configure the data so that you have three queries. The master will be
    invoice and there will be two queries that are linked to the master - one
    for items and one for payment terms. You can use the query tools of the RB
    Data…
  • Below are two tech tip articles about printing to continuous paper and
    printing to custom paper sizes...

    ----------------------------------------------------
    Article: Printing to Continuous Paper
    --------------------------…

  • Below are two tech tip articles: one print to dot matrix printers and one
    about printing to a .txt file and sending the .txt file to the device.


    -----------------------------------------------
    Article: Printing to D…

  • We have customers using RB and Citrix successfully. We do not have any
    Citrix experience here, but I am guessing that this is a Citrix
    configuration issue.

    RB uses standard Windows API commands to get a list of the avail…

  • There are two plain text output formats in RB.

    - TextFile

    This is a delimited text format. Use the File | PageSetup dialog of the
    report designer to configure which components to export. Memo and RichText
    are …

  • One solution is to check out the Gnostice source code to determine what the
    DeviceName. Each descendant of TppFileDevice overrides the DeviceName class
    function to define the identifier.


    --
    Nard Moseley

  • - only way to do that would be to modify the source code to ppTemplat.pas,
    the method TppTemplate.LoadFromStream initializes FIgnoreErrors to False,
    you could change that to True.

    - the other approach is to write some co…


  • - See the ReportBuilder online help topic for
    Report.BackgroundPrintSettings, that topic contains a good discussion of how
    to create a thread-safe environment in which a report can generate.

    - ReportBuilder has bui…

  • - ppPrinter returns a global printer. But then you need to specify the
    printer name so that it can get the information about the relevant printer

    - on the other hand Report.Printer will return a reference to a printer
    ob…

  • Try using the EnumJobs Win API function to check the status of print jobs
    for a specified printer. See the Win API help for details.

    ReportBuilder does not contain any functionality to check the status of
    print jobs.
  • ---------------------------------------------------
    Tech Tip: Loading an Archive File to a Blob
    (or memory stream)
    ---------------------------------------------------

    You can easily write a routine to take a .RAF…

  • - ReportBuilder uses standard Windows API commands to render to the printer.
    The printer driver translates the windows commands and controls the printer
    hardware. PCL or Postscript can be generated by different printer drivers.

  • You can simplify/optimize the report layout so that it can be more
    accurately translated to the primitive .txt output format. For an example
    run RBuilder\Demos\Reports\Demo.dpr and check out demo 107.

    --
    Nard Mosel…
  • - Please do not cross post messages

    - We have thousands of customers and many of them deploy applications to
    thousandands of their customers. No one has reported this issue. We need a
    reproduceable test case.

    - You …

  • - Your DirectToPrinter code uses Delphi's global Printer object which is an
    instance of the TPrinter class. Try configuring the Printer object with the
    desired paper size, prior to calling Printer.BeginDoc.

    - The other t…

  • In demo 107....

    Report.Units := utPrinterPixels
    Report.PrinterSetup.PaperName := 'Letter'

    Thus, if your printer has a resolution of 600 pixels per inch, then the
    paper dimensions are calculated as follows:

  • We are working on updating the docs - the updates will be included with a
    future release.

    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • How are saving the report output to stream? What format is it in?

    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • -----------------------------------------
    Article: End-User Tech Support
    -----------------------------------------

    Please understand that Digital Metaphors can only provide tech support to
    the Delphi developers that purcha…

  • Rather than changing the subreport.Report while the application is running.
    Prior to calling Report.Print, create a separate Subreport instance for each
    report layout that you need to print. Then use Band.BeforePrint to set the

  • PrinterNames will vary from machine to machine. The
    Report.PrinterSetup.PrinterNames[ ] array property provides access to the
    list of printer names installed on the machine.

    BinNames vary from printer to printer. There i…


  • That error indicates the version of TExtraDevices you have installed is not
    compiled to support the version of ReportBuilder you have installed.

    One option is to update your ReportBuilder version and TExtraDevices
  • Paul,

    Thanks for the providing the tips!

    (We do not have any Citrix experience here)

    --
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

  • RB is using the Windows API function EnumPrinters to build the list of
    available printers. See ppPrintr.pas, the method
    TppPrinterList.BuildPrinterList.

    Like many Windows API functions there are many ways to call this fu…

  • Each time you print a report, a Windows print job is created - this is what
    you see on the Windows print queue. There is a separate Windows API call to
    start the job and another call to the end job.

    Try adding RBuilder\S…

  • Have not heard of this before.

    The unit ppProd.pas, the method TppProducer.PrintToPrinter would be one
    place to put a break point. The method shows the print dialog and then
    towards the bottom there is some code that che…

  • For future reference please always specify environement info: Delphi
    version, ReportBuilder version, Windows version, database connectivity, etc.

    I am guessing that you are using an old version of ReportBuilder. Try
    down…


  • You can use the Report.PrinterSetup.FileName to accomplish this - it is a
    public property, so you need to set it via code.

    Example:

    myReport.PrinterSetup.FileName := 'myReport.prn';
    myReport.DeviceType :=…

  • This is not a known issue. By design, generating a report to the printer or
    file should be mutually exclusive. To print to multiple devices should
    require special code.

    If you would like to create a simple focused test c…