<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
    xmlns:content="http://purl.org/rss/1.0/modules/content/"
    xmlns:dc="http://purl.org/dc/elements/1.1/"
    xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>General — ReportBuilder Support Forums</title>
        <link>https://www.digital-metaphors.com/forums/</link>
        <pubDate>Wed, 14 Oct 2026 06:56:20 +0000</pubDate>
        <language>en</language>
            <description>General — ReportBuilder Support Forums</description>
    <atom:link href="https://www.digital-metaphors.com/forums/categories/general/feed.rss" rel="self" type="application/rss+xml"/>
    <item>
        <title>building report with 100 pages takes several hours</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22092/building-report-with-100-pages-takes-several-hours</link>
        <pubDate>Mon, 10 Aug 2026 15:14:57 +0000</pubDate>
        <category>General</category>
        <dc:creator>JamesKing</dc:creator>
        <guid isPermaLink="false">22092@/forums/discussions</guid>
        <description><![CDATA[Hi,

i have a report generated at night both in a productiv environment and in a test environment . The problem is that it is very very long to be created. The end result is a pdf of about 450kb. The report has about 100 pages. and it takes in the productiv environment about 3 minutes per page which is already very time expensive , and in the test environment it takes about 40 minutes per page !!! it is really amazing. i can t figure out what is the reason of this. Any idea ? Even when i start the report life, the time for one page construction is to count in several minutes. i started the report in the test life for 8 minutes and no single page is created .... 
Thanks for any suggestion !]]>
        </description>
    </item>
    <item>
        <title>Preview buttons for PageDisplay not visible</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22094/preview-buttons-for-pagedisplay-not-visible</link>
        <pubDate>Thu, 13 Aug 2026 14:56:08 +0000</pubDate>
        <category>General</category>
        <dc:creator>Reiter_Software</dc:creator>
        <guid isPermaLink="false">22094@/forums/discussions</guid>
        <description><![CDATA[One of my customers has the problem
in the preview window the buttons for PageDisplay (Continous, ContinousTwoUp, Single, TwoUp) are not visible.

Is there a way to control this behaviour?
]]>
        </description>
    </item>
    <item>
        <title>Barcode Printing Method</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22093/barcode-printing-method</link>
        <pubDate>Wed, 12 Aug 2026 17:13:22 +0000</pubDate>
        <category>General</category>
        <dc:creator>delphiadmin</dc:creator>
        <guid isPermaLink="false">22093@/forums/discussions</guid>
        <description><![CDATA[Good Afternoon,

We use Report Builder to generate receipts with a barcode on them.  They are read using a Cash Dispenser machine.  Some of the machines are not reading the barcodes correctly.  We think it's probably either a printer issue or a barcode scanner issue.  But we wanted to learn more about the way report builder generates barcodes.

What we would like to know:
What method do you use to generate barcodes for the reports?
What format do those barcodes end up in?
Are they an image format?  
Do they write as Barcode characters directly to the printer?
If it's an image, what image format does it use? (png, jpg, bmp, etc)]]>
        </description>
    </item>
    <item>
        <title>How can i disable the printer check?</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22091/how-can-i-disable-the-printer-check</link>
        <pubDate>Fri, 07 Aug 2026 16:29:30 +0000</pubDate>
        <category>General</category>
        <dc:creator>invent</dc:creator>
        <guid isPermaLink="false">22091@/forums/discussions</guid>
        <description><![CDATA[Hello,

I'm a little annoyed, because ReportBuilders checks ervery time my printer connection.

I have a form with a report. When I start the Designer or wants to see the preview, the program stops for 60 seconds or I get a message "Waiting for printer connection", in german "Es wird auf die Druckerverbindung gewartet...".

Yes, my printer is off (Lan) or offline (WLan), but I don't need the printer. Why is it necessary to check the connection? I just want to preview the report or want to make a pdf. 

How can I disable this behaviour?

Greetings from Germany
Gerd Brinkmann
invent GmbH]]>
        </description>
    </item>
    <item>
        <title>raCodMod.pas missing. (Reportbuilder 7.02)</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22087/racodmod-pas-missing-reportbuilder-7-02</link>
        <pubDate>Thu, 16 Jul 2026 08:02:06 +0000</pubDate>
        <category>General</category>
        <dc:creator>francis</dc:creator>
        <guid isPermaLink="false">22087@/forums/discussions</guid>
        <description><![CDATA[I need to 'upgrade' an old Delphi 6 program to Delphi 7. I successfully compiled most of the Delphi 6 reportbuilder files in Delphi 7, but I can't find raCodMod.pas

So I went hunting , it seams Reportbuilder 7.02 is available for Delphi 7, but the link in the registration email gives a 404 ( You can download ReportBuilder Enterprise version 7.02 from:

http://www.digital-metaphors.com/wiov8n3l/p2kc90s.html )

What is the best action to take ?]]>
        </description>
    </item>
    <item>
        <title>Question about OnNoData event behavior</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22090/question-about-onnodata-event-behavior</link>
        <pubDate>Mon, 27 Jul 2026 10:23:11 +0000</pubDate>
        <category>General</category>
        <dc:creator>MarZimKo</dc:creator>
        <guid isPermaLink="false">22090@/forums/discussions</guid>
        <description><![CDATA[Hello,

I'd like to better understand when the TppCustomReport.OnNoData event is actually expected to fire, as described in the documentation.

In our tests, the ReportBuilder correctly applies the configured NoDataBehavior, but the OnNoData event itself is never raised.

Our actual goal is to determine programmatically whether a report contains any data (similar to the corresponding property available in Crystal Reports). Is there a supported way to obtain this information, and is the OnNoData event intended for this purpose?

For context: In this case we are using ReportBuilder in an automation scenario. This is not related to the Viewer component or any interactive UI.

Thanks in advance for any clarification.

Best regards,
Markus]]>
        </description>
    </item>
    <item>
        <title>one datapipeline plus anexes several page numbering</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22085/one-datapipeline-plus-anexes-several-page-numbering</link>
        <pubDate>Wed, 08 Jul 2026 15:30:00 +0000</pubDate>
        <category>General</category>
        <dc:creator>JamesKing</dc:creator>
        <guid isPermaLink="false">22085@/forums/discussions</guid>
        <description><![CDATA[hello,

i need to print a report , for instance the 5 first pages with data from datapapipeline so numbered from 1 to 5, and in the same report 2 annexes numbered for instance 1 to 2 and 1 to 3. how to reset the page number for each annexe, and avoid that the pages with data print page 1 to totalpagecount including the number of pages in the anxexes ? i have already found a discussion based on resetpagecount, but this only works if the whole report is based on datapipeline.
any idea ?

Thanks for your help !]]>
        </description>
    </item>
    <item>
        <title>TppDBRichEdit Stretch works on one PC but not on another (Delphi XE11)</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22086/tppdbrichedit-stretch-works-on-one-pc-but-not-on-another-delphi-xe11</link>
        <pubDate>Wed, 08 Jul 2026 15:54:35 +0000</pubDate>
        <category>General</category>
        <dc:creator>AUDITSOFT</dc:creator>
        <guid isPermaLink="false">22086@/forums/discussions</guid>
        <description><![CDATA[Hi everyone,
I'm using ReportBuilder with Delphi XE11 and I have a TppDBRichEdit component with Stretch enabled on a band. The stretch behavior works correctly on one PC, but on another PC the RichEdit content does not stretch/expand the band properly — the text gets cut off or the band height doesn't adjust to fit the content.
Environment:

Delphi XE11
ReportBuilder version: [22]
Windows 10/11 on both machines

What I've checked so far:

Both machines have the same ReportBuilder version/build deployed
The RTF content and fonts appear to be the same
Default printer setup may differ between the two PCs (one might not have a printer installed)

Questions:

Is the Stretch calculation for TppDBRichEdit dependent on the default printer's device context (Canvas)? If so, does ReportBuilder require a printer driver to be installed to compute accurate text metrics?
Could differences in the RichEdit DLL between Windows installations cause inconsistent height/stretch calculations?
Is there a recommended way to force a specific RichEdit DLL version to be used by TppDBRichEdit, to ensure consistent behavior across different machines?

Any guidance on how to make the Stretch behavior consistent regardless of the target machine's printer configuration or installed RichEdit DLL version would be greatly appreciated.
Thanks in advance!]]>
        </description>
    </item>
    <item>
        <title>Exception deleting column from cross tab</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22084/exception-deleting-column-from-cross-tab</link>
        <pubDate>Tue, 30 Jun 2026 07:08:07 +0000</pubDate>
        <category>General</category>
        <dc:creator>Felixinasa</dc:creator>
        <guid isPermaLink="false">22084@/forums/discussions</guid>
        <description><![CDATA[Hello 
When I try tro remove a colummn from a cross tab I always get and error
Application made attempt to free invalid or unknown memory block: $00529730 OBJECT [?].
[013A4B4A] ppCTMain.TppCrossTab.DimensionRemoved
[013A4A16] ppCTMain.TppCrossTab.RemoveChild [00F9721C] ppRelatv.TppRelative.SetParent [00F96C6C] ppRelatv.TppRelative.Destroy [013A60EC] ppCTMain.TppElement.Destroy [013A64A7] ppCTMain.TppDimension.Destroy [004DB1DC] System.TObject.Free [013A57E7] ppCTMain.TppCrossTab.DeselectRowDef
[013ADE47] ppCTCtrl.TppCrossTabControl.ValidMoveDragDrop
[013AD27E] ppCTCtrl.TppCrossTabControl.PaintBoxDragDropEvent
[00812C87] Vcl.Controls.TControl.DragDrop [0081B783] Vcl.Controls.TWinControl.CMDrag [00813BF6] Vcl.Controls.TControl.WndProc [76FA8A52] user32.GetWindowLongW [70FBC868] uxtheme (possible UpdatePanningFeedback+7080) [70FBC931] uxtheme (possible UpdatePanningFeedback+7281) [76B93895] GDI32.vSetPldc [76E9139A] win32u.NtGdiDeleteObjectApp [76C1E90B] gdi32full.InternalDeleteDC [004DC0AF] System.TMonitor.TryEnter [004DBBFC] System.TMonitor.Enter [77AC5116] ntdll (possible RtlNumberOfSetBitsUlongPtr+2726) [77A832E4] ntdll.RtlLeaveCriticalSection [008192AB] Vcl.Controls.TWinControl.WndProc [004DBA64] System.TMonitor.CheckOwningThread [004DBD8A] System.TMonitor.Exit [007725B5] Vcl.Graphics.FreeMemoryContexts [00818770] Vcl.Controls.TWinControl.MainWndProc
[0061D754] System.Classes.StdWndProc
[76FB9731] user32 (possible GetMessageTime+1953) [76FA88B8] user32 (possible MsgWaitForMultipleObjectsEx+1992) [76FA85A3] user32 (possible MsgWaitForMultipleObjectsEx+1203) [77AA99EA] ntdll.NtCallbackReturn [76FB367B] user32 (possible SystemParametersInfoW+731) [77AABD64] ntdll.KiUserCallbackDispatcher [76FB3D0A] user32 (possible CallNextHookEx+266) [76FA835B] user32 (possible MsgWaitForMultipleObjectsEx+619) [76FB3667] user32 (possible SystemParametersInfoW+711) [77AABD64] ntdll.KiUserCallbackDispatcher [76E911EA] win32u.NtUserMessageCall [76FA9BCE] user32 (possible GetWindowLongW+4606) [76FC0DF3] user32 (possible SetWindowsHookExAW+755) [76FA8081] user32 (possible SendMessageW+65) [0080F539] Vcl.Controls.DragMessage [0080FFF3] Vcl.Controls.DragDone [0080ECA3] Vcl.Controls.TDragObject.WndProc [0080ED89] Vcl.Controls.TDragObject.MainWndProc
[0061D754] System.Classes.StdWndProc
]]>
        </description>
    </item>
    <item>
        <title>Dialog field size</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22082/dialog-field-size</link>
        <pubDate>Tue, 23 Jun 2026 14:45:08 +0000</pubDate>
        <category>General</category>
        <dc:creator>JamesKing</dc:creator>
        <guid isPermaLink="false">22082@/forums/discussions</guid>
        <description><![CDATA[Hi, 
when i create parameters for a dialog at the start of the report it often happens that the size of the field which contains the namefield value is too short. how is it possible to increase this size ? For example if i have an item number and a description in one string, this composed string ist cut at the end. the user is not always able to find out if he chooses the right item. Also is it possible when a namefield has been selected in a list that the corresponding valuefield is displayd in a readonly field below the first field?
Thanks for your answers!]]>
        </description>
    </item>
    <item>
        <title>displaying cascaded dialogs</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22083/displaying-cascaded-dialogs</link>
        <pubDate>Tue, 23 Jun 2026 16:21:20 +0000</pubDate>
        <category>General</category>
        <dc:creator>JamesKing</dc:creator>
        <guid isPermaLink="false">22083@/forums/discussions</guid>
        <description><![CDATA[Hi,
if i make a first dialog where a user can choose a value , how is it possible to display a second dialog with parameters depending on the values choosen in the first dialog ? or even a third dialog depending on the choices made in the second one ?  According to the choices made in the second dialog, how can i valid or cancel the whole operation to continue or stop the report ? for instance in the first dialog i ask to choose an order , in the second dialog i display the order plus details and ask if it is rellay this one who should be processed to go ahead. if not i stop the report , if yes i go on..

Thanks for your advices !]]>
        </description>
    </item>
    <item>
        <title>Access Violation in ReportBuilder Preview with Master/Detail SubReport  – PDF export wor</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22081/access-violation-in-reportbuilder-preview-with-master-detail-subreport-pdf-export-wor</link>
        <pubDate>Thu, 18 Jun 2026 14:20:35 +0000</pubDate>
        <category>General</category>
        <dc:creator>Felixinasa</dc:creator>
        <guid isPermaLink="false">22081@/forums/discussions</guid>
        <description><![CDATA[Hello,

I am experiencing an intermittent Access Violation error when previewing a report in ReportBuilder.

The report is a master/detail report with a SubReport. The reports are stored as templates in the database and loaded at runtime, so I cannot easily access design-time events such as DetailBand.BeforePrint.

The issue only happens in the Preview. Exporting the same report to PDF always works correctly.

Some observations:

With a small number of records, the preview works fine.
With a large number of records, the error starts to occur.
The page where it happens is not always the same.
It is more likely to happen when the master/detail query is slower.
EurekaLog does not capture the exception because ReportBuilder seems to handle it internally.
Running from the Delphi IDE shows an Access Violation, but outside the IDE no EurekaLog report is generated.

Environment:

Delphi 12.2
ReportBuilder: 23.04

Could this be related to the ReportBuilder preview cache, page generation, or the synchronization between master/detail pipelines?

Is there any way to trace or intercept the exception raised during preview generation?

Any advice on debugging this kind of issue would be appreciated.

Thanks.]]>
        </description>
    </item>
    <item>
        <title>Support for ARM64EC</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22076/support-for-arm64ec</link>
        <pubDate>Thu, 11 Jun 2026 11:57:22 +0000</pubDate>
        <category>General</category>
        <dc:creator>zippo</dc:creator>
        <guid isPermaLink="false">22076@/forums/discussions</guid>
        <description><![CDATA[Hello!

Is planned any support for ARM64EC? If yes, is there any planned date?]]>
        </description>
    </item>
    <item>
        <title>How can I print fixed content on the back side of every page in ReportBuilder?</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22075/how-can-i-print-fixed-content-on-the-back-side-of-every-page-in-reportbuilder</link>
        <pubDate>Wed, 03 Jun 2026 11:09:45 +0000</pubDate>
        <category>General</category>
        <dc:creator>Felixinasa</dc:creator>
        <guid isPermaLink="false">22075@/forums/discussions</guid>
        <description><![CDATA[Hello
I am using Digital Metaphors ReportBuilder and I need each page of my report to have a fixed text printed on the reverse side (back side) of the paper.

The front side contains the normal report content, while the back side should always contain the same text (for example, terms and conditions).

The report may contain a variable number of pages.

I think this is the solution; 

http://www.digital-metaphors.com/rbWiki/Design/Pagination/Duplex_Printing_Legalese_to_the_Back_of_Every_Page

but this page is not working

thank you

]]>
        </description>
    </item>
    <item>
        <title>Range Check Error in End User</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22074/range-check-error-in-end-user</link>
        <pubDate>Wed, 03 Jun 2026 10:37:02 +0000</pubDate>
        <category>General</category>
        <dc:creator>KenRandall</dc:creator>
        <guid isPermaLink="false">22074@/forums/discussions</guid>
        <description><![CDATA[Hi,

Using version 23.04 Enterprise version in Delphi 13.1.

32 bit is ok but when compiled for 64 bit (32 bit IDE) get an error when run. Happens in your End User demo too.

Thanks,

Ken]]>
        </description>
    </item>
    <item>
        <title>Bug in OAuth flow</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22070/bug-in-oauth-flow</link>
        <pubDate>Thu, 07 May 2026 17:45:05 +0000</pubDate>
        <category>General</category>
        <dc:creator>frontline</dc:creator>
        <guid isPermaLink="false">22070@/forums/discussions</guid>
        <description><![CDATA[I think we found a bug in MS OAuth Flow (it might also be in Gmail, see below).

Problem: During initial OAuth flow, my @outlook account will randomly work and not work. When it doesn't work, I get "Success. Please Close Browser" and no errors are reported. (I'm hooked in to the TppReport.OnEmailError event, and nothing fires). 

From the GUI everything looks peachy, but no credentials are put in the INI or Registry.

So I used the browser network console to inspect requests during the OAuth flow and found a pattern. Every single time it "didn't work" There was a $ character at the end of the code:

BAD
GET http://localhost:65168/?code=M.C513_BAY.2.U.DlwN2k6U3asmVTJK!dREitr*EZRUM1zREMOVEDLQqsOgX4FUmcdFZG542*sxAMbGHteQ6hqNvW6VcbFEWA$

GOOD
GET http://localhost:64785/?code=M.C513_SN1.2.U.DtBnG1rBBUjTQH5lFV7LuUtHJlXblREMOVEDIj13RJ6QrVZO4*RRqFTUWqlwm5RiRULnfAZAx5tPWsoLe5LR3av96ckeScZiW

GOOD
GET http://localhost:65022/?code=M.C513_SN1.2.U.DtRCbCDVd6BC2A4G1cKWo0uZZSS1REMOVED2qe0KFYj!Qw30n6gGTZWm19925n5n37w5YRdE!gd3DAK5mAAJ*gyyvbw56GnBlO7lnd

BAD
GET M.C513_BL2.2.U.Do8UC!v!QOI3*yhrRMYVjcX!LZWZdHbuYV2kfDKrkcp8cgJ6151!isNnxREMOVED4m0vwCFbaY4uaRsewinIdVxdBv9VzDQVVGooi*zfTFDjkamTYDeEDWWuwKVgWVaJXJmTfhl1FbDY$

BAD
GET M.C513_SN1.2.U.DnM5qmutJqCzxj1Q1ZujPWINQ8LpVpGc2kI*C!iKBAt9REKxOzHzm1yCcMREMOVEDH3A2bmsEo0RdsMIXOJKIAvzq0rL0mtww6D4UlKutkdL!oO21NKLR2HOI!ZJg9pcpDF!6janz19c$

GOOD
GET http://localhost:53753/?code=M.C513_BAY.2.U.Dmvgs0UWV9FZlFufA3!v3YLWJIfCeREMOVEDGrVonjvbcTo9mhYPOlEpXntrY*HPi2qTSIW!Q8gWxaA*Sz!hpR8cag!6UVLjyOk9NG1dQ53ERxwO2J3gTXp88JmLk

GOOD
GET http://localhost:57752/?code=M.C513_SN1.2.U.DofcrT2i!niNxt*YTL2HViAf0XNQrREMOVEDs9!7wz91ERQ22fZplkEKFK*u75pvAZ2iEFltCGL7QT6UpPVI3brpAlKyrAFTF4A*ZAdo57AFh6dKANb3iF1foh8F42

BAD
GET http://localhost:57903/?code=M.C513_SN1.2.U.DpQWEhqMP*f24TnN3gCmVTKkCzOPVREMOVEDryi7DATKCZeIpwsk16oE4KgZrSGbcd0SggN6q8pH1LmN!q4dROkzAGbfSQ1N5oNuK*PWuHvphf0KprCJIA*BlIZTyI$

GOOD
GET http://localhost:58083/?code=M.C513_SN1.2.U.DjAt5p!2DtMiV5ndtOcsiX6ByqIREMOVED9K5MVqQRoX2TPr7hxxtA0xzZ3jYjB7BhDdE!aDWTA6LML4ce133EXqfJ8L5xse9i2DoTvndlqlqB!TH8j7YYnbJSGTzzbhPf0

GOOD 
GET http://localhost:58289/?code=M.C513_SN1.2.U.DmMG5ssutOdKL3TRlMJ!FUZLD6Q!YREMOVED!oQ63tLEp1oMh9UCxOXN9Rd5AVnCYT6tK3yc2uoPfHNpdQ0FyenVva8xpzFCTe891VZQif*Bt8rkncagkgB!yk0X9bUJ

GOOD
GET http://localhost:62517/?code=M.C513_SN1.2.U.Dvgz!ILhtHdUGk4Y3ybO391rjtenvTREMOVEDYpKpuynhA4QB9zOhOjflYqvJr0ZDwKfXdD1TSeLNLJLM3mPe1vnrTZCBi*bpTWbvTksqs00SZXY1hxwWQbiyoE!D9RXrRDBCREMFUPohGJdVc8nkRiv*DcUSWFZ

BAD
GET http://localhost:62676/?code=M.C513_BAY.2.U.Dh6opE41qqz04LPSByvHdRzDncHjHHVREMOVED2gR8i7jl6lXQl79cMVkp8blOIcZhGra8HXl0k9an4FEFvgQwqeXMOAoDISEO5kbDZ3cUmWiuSs0GX5Uk$

I looked at the URL the browser was redirected to and it did properly encode there to %25. So there must be something up with the http server? 

Other team mates couldn't get it to happen. So maybe it has something to do with my email, or it's time based, or it's just 50/50 and they got a good string. 

This may be happening in Gmail, but we haven't seen it. Did not do any testing there. ]]>
        </description>
    </item>
    <item>
        <title>New DB fields or Labels added to an old report do not populate</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22065/new-db-fields-or-labels-added-to-an-old-report-do-not-populate</link>
        <pubDate>Mon, 23 Mar 2026 20:41:24 +0000</pubDate>
        <category>General</category>
        <dc:creator>pierrotsc</dc:creator>
        <guid isPermaLink="false">22065@/forums/discussions</guid>
        <description><![CDATA[I have a report i created a long time ago with an older version of RB. When i add a label in a band, it will not show up in preview nor when i run the program. All the new DB fields added show as the field name and not the data itself. When i run the program, everything new is blank but all the old data created years ago populate fine. I tried to add a ppreport.reset, tried to clear the cache, still nothing. I have a master pipeline and a detail pipelines. I am at loss right now.
Any advice ?
Thanks]]>
        </description>
    </item>
    <item>
        <title>Perplexing behavior with ApolloDB</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22069/perplexing-behavior-with-apollodb</link>
        <pubDate>Thu, 30 Apr 2026 01:33:03 +0000</pubDate>
        <category>General</category>
        <dc:creator>hafox</dc:creator>
        <guid isPermaLink="false">22069@/forums/discussions</guid>
        <description><![CDATA[Hello All,

I'm a retired Delphi developer of 35-ish years having started a career in the early 80s. I haven't coded a thing in almost 10 years. I'm not current on development tools, etc. Recently, though, I've developed an itch to do a little hobby programming so I acquired all the latest versions of my old tools hoping it wouldn't be too difficult to refresh my skills. Not to be, I'm afraid. Nonetheless...

I'm the treasurer for our small community's HOA. For me it means a bit of record-keeping that got to be pretty tedious especially around dues-invoicing time each year. That inspired me to put together what I'll call my personal HOA finance app. I've reached a point where I needed a first, quite specialized, report so I dove back into RB and have hit a roadblock.

One of those tools I mentioned above is ApolloDB. My coding career started all those years ago with massive dBase and Clipper programs for a department of electrical engineers in a major electric utility. I was amazed at the things that could be accomplished with those tools. I've never lost my fondness for the simplicity of their table and index structures nor for the power of the language. Many tens of thousands of lines of code later, I find myself a little stuck with what most would call ancient tech. It all worked very well right up to retirement time. Be that as it may, I've hit a snag that has me wondering whether ApolloDB is at fault, RB, or both.

Without too much trouble I've been able to put together a small test app that contains nothing more than a ppReport, a ppDBPipeline, a TApolloTable and Delphi TDataSource. One big button on the form allows me to initiate a report run. From there the snags get confusing. I should add that I purchased the Standard version of RB rather than the more costly Pro or Enterprise versions, the latter being what I used for all those years. Getting back into the groove of debugging has been particularly challenging especially since I don't have any RB source files to step through/into.

I quickly figured out that I could not use the Open or Close methods for the DataSource because RB would consistently issue an "Invalid Work Area" error. At least I think RB was responsible for that message. Instead, I used the ppReport's OpenDataSource and CloseDataSource properties which allowed the report to run (initially) and display it in a preview window. The next problem appeared when I tried to send the report to my printer using the Preview's Print option. 

In an effort to keep this post at some halfway reasonable length, following is essentially the steps and outcomes of trying to get a report out of the printer. I'm hoping that someone might have encountered such an issue and identified the cause. To me, it seems the problem is tied to the DataSource being opened and/or closed at inappropriate times. Thanks in advance for any possible suggestions.

==========
-	RBTest program opens properly

-	Click on "Print Report" button

-	Report preview opens with first page appearing exactly as expected. There are 10 pages available as expected   and contain correct data.

-	Click on the "Print" button icon. Printer dialogue opens with correct (default) printer.

-	Change nothing in dialogue and click "OK" button to initiate printing.

-	Error message appears: "Unable to open table:" followed by full path of project table.

-	Click on OK button to close message. Preview still appears with correct information displayed.

-	No report makes it to the printer.

-	Click "Print" button again. Table open error message does NOT re-appear.

-	Printer dialogue appears. Click OK button to start printing.

-	Message appears stating "Accessing Data..." very briefly, disappears then followed by empty page (no data) in preview. Nothing is printed.

-	Clicking on any page in side "Outline" displays selected page with correct data.

-	Click on Print button again as above and the same cycle begins. It can be repeated over and over with no change in behavior.

-	Click "Close" button on print preview window. Return to main form.

-	Click Print Report button again.

-	Preview window opens, this time with blank page - no data and no other pages available in Outline. No other operations can be initiated.

-       Close the program and re-start. All of the above steps take place again.
==========

]]>
        </description>
    </item>
    <item>
        <title>OAuth Flow - Invalid Grant</title>
        <link>https://www.digital-metaphors.com/forums/discussion/21990/oauth-flow-invalid-grant</link>
        <pubDate>Mon, 14 Apr 2025 17:55:00 +0000</pubDate>
        <category>General</category>
        <dc:creator>frontline</dc:creator>
        <guid isPermaLink="false">21990@/forums/discussions</guid>
        <description><![CDATA[We have a mostly working OAuth flow going and ran into an issue today we needed to report.

None of us have used OAuth for at least a couple weeks, but today we needed to.

We have the OAuth Tokens in our registry, but received this error from Gmail:

Header: Cache-Control=no-cache, no-store, max-age=0, must-revalidate
Date=Mon, 14 Apr 2025 17:45:35 GMT
Pragma=no-cache
Transfer-Encoding=chunked
Content-Type=application/json; charset=utf-8
Expires=Mon, 01 Jan 1990 00:00:00 GMT
Accept-Ranges=none
Server=scaffolding on HTTPServer2
Vary=X-Origin, Referer, Origin,Accept-Encoding
X-XSS-Protection=0
X-Frame-Options=SAMEORIGIN
X-Content-Type-Options=nosniff
Alt-Svc=h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
 Content: {
  "error": "invalid_grant",
  "error_description": "Bad Request"
}

The program looks to continue to re-authorize (the user gets a browser, and enters their credentials, no errors). The problem though is the email does not go out.

After deleting the registry keys manually, and restarting, everything flows like it should. 

We've noticed quite a few hiccups when a key is revoked, expired, or the million other reasons a key could go bad. RB often correctly starts the flow again, but has trouble saving the new keys back to the registry.

We've tried capturing the error OnEmailError, and deleting the registry ourselves. And again, while it then goes through all of the flow successfully, it does not write the new tokens to the registry. 

We have not tried this through the INI storage. ]]>
        </description>
    </item>
    <item>
        <title>Changing the height of a GroupHeaderBand depending on the visibility of a component</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22063/changing-the-height-of-a-groupheaderband-depending-on-the-visibility-of-a-component</link>
        <pubDate>Fri, 13 Mar 2026 13:48:42 +0000</pubDate>
        <category>General</category>
        <dc:creator>Serg</dc:creator>
        <guid isPermaLink="false">22063@/forums/discussions</guid>
        <description><![CDATA[Hello Nico
I want to reduce the band height for all pages except the first. I don't want to print the diagram multiple times. However, other components in the band should still print. I can't understand why the band doesn't automatically reduce its size if I set PrintHeight := phDynamic.

I am trying the following code. I'm trying the following code. The result is fine, but I see a warning message "Invalid value: Zero height band cannot contain components."
What is my mistake?

procedure GroupHeaderBand1BeforePrint;
begin
  if not Group1.FirstPage then begin
    Chart.Visible := False;
    GroupHeaderBand1.Height := GroupHeaderBand1.Height - Chart.Height;
  end;
end;]]>
        </description>
    </item>
    <item>
        <title>Toggling visibility of Group Footer Band based on Group value.</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22062/toggling-visibility-of-group-footer-band-based-on-group-value</link>
        <pubDate>Thu, 12 Mar 2026 14:16:47 +0000</pubDate>
        <category>General</category>
        <dc:creator>aeverett</dc:creator>
        <guid isPermaLink="false">22062@/forums/discussions</guid>
        <description><![CDATA[Hi,

I have a Group in my report that is grouping by a field that can have values "Current" and "Future". I want the Group Footer to only be visible when the Group Value is "Current", so it would appear like below:

Current
Data Data Data
Data Data Data
Group Footer ------
Future
Data Data Data
Data Data Data


The problem is that I'm trying to use the OnBeforePrint event for the Group Footer and set its visibility there, but when the visibility is togged off when the value is "Future" it also removes the footer for the "Current" values.

How can I toggle the group footer on and off to get the above desired layout? 
]]>
        </description>
    </item>
    <item>
        <title>Google Maps Update</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22061/google-maps-update</link>
        <pubDate>Wed, 25 Feb 2026 00:24:58 +0000</pubDate>
        <category>General</category>
        <dc:creator>frontline</dc:creator>
        <guid isPermaLink="false">22061@/forums/discussions</guid>
        <description><![CDATA[It's been a long while since we worked with embedded maps in RB. Lately a customer has shown interest in the ability so we dusted it off and gave it another try.

Back when we first did it, we simply dropped a map component down, added our API key and Address, and the map was drawn.

But now we get "Map Unavailable" 

Our Google Developer Console shows the key as having access to Geocoding, Directions, and Maps Javascript APIs. We know the API key is "good" as we draw a map in another component. 

Has there been some updates we are unaware of? Some additional settings or requirements? ]]>
        </description>
    </item>
    <item>
        <title>PDF embedding of fonts with subsets – Euro symbol missing</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22060/pdf-embedding-of-fonts-with-subsets-euro-symbol-missing</link>
        <pubDate>Wed, 18 Feb 2026 13:39:21 +0000</pubDate>
        <category>General</category>
        <dc:creator>fdohg</dc:creator>
        <guid isPermaLink="false">22060@/forums/discussions</guid>
        <description><![CDATA[Hello,

I am trying to create a PDFA and embed only some of the fonts it contains in order to keep the file size small.

To do this, I have set the settings in the report file to efAllFonts and efUseSubset in PDFSettings - EmbededFontOptions and feAnsi is selected in PDFSettings - FontEncoding.

Unfortunately, the resulting PDFAs do not receive the glyph for the euro symbol used in the report file and the display in the PDFAs is incorrect.

Without the efUseSubset option, I get valid PDFAs that contain the euro symbol.

I am using Windows 10 Pro, Borland Delphi 2006 version 10.0.2558.35231 Update 2, and ReportBuilder Professional Edition version 14.08 Build 48.

Best regards]]>
        </description>
    </item>
    <item>
        <title>Error loading report</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22053/error-loading-report</link>
        <pubDate>Wed, 03 Dec 2025 15:37:52 +0000</pubDate>
        <category>General</category>
        <dc:creator>Felixinasa</dc:creator>
        <guid isPermaLink="false">22053@/forums/discussions</guid>
        <description><![CDATA[Hello

I’m using a custom ReportExplorer, and sometimes — only occasionally — a report does not load. However, if I select another report in the same folder, it loads correctly.

Initially, I was loading the report using:

FReportExplorer.PrintPreview(FListView.ItemName, FListView.FolderId)

When the issue occurs, this call does nothing and no exception is raised.
I changed it to:

LoadReport(FListView.ItemName, FListView.FolderId)

With this method, an exception is raised indicating that the report cannot be found.

I’ve noticed that when this happens, FListView.FolderId has the value -1.

To work around this, I switched to loading reports using LoadFromDatabase, but the problem still occurs (although less frequently).

It's important to mention that I previously used Delphi 7 with an older version of ReportBuilder, and this issue never happened. The problem only started after upgrading to delphi 12.2 and the current version.

Do you have any guidance on why FolderId might intermittently be -1, or how to ensure reports load reliably in this scenario?

Thanks you]]>
        </description>
    </item>
    <item>
        <title>Slow Rendering Rich Text</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22054/slow-rendering-rich-text</link>
        <pubDate>Tue, 16 Dec 2025 22:34:19 +0000</pubDate>
        <category>General</category>
        <dc:creator>edbuescher</dc:creator>
        <guid isPermaLink="false">22054@/forums/discussions</guid>
        <description><![CDATA[I have a ppDBRichText control to render some text. This works fine until I try to modify the text with a GetRichText event, which slows down the rendering to over a second per page, and I have 50+ pages. I am simply "bolding" some characters inside the text string.  I assume the issue is RB trying to render the formatting. If I only mess with the text by modifying it, without any richtext controls, RB works fine, but when I add the logic to "bold" some characters, it really slows down. 

My code is something like this:
Text:='{\rtf1\ansi{\b '+Bold Text+'}}'; - this works fine other than being slow

Is there a way to speed this up?]]>
        </description>
    </item>
    <item>
        <title>Query Designer / Query Builder shows black area – tables not visible (Delphi 12 + RB 23.01)</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22056/query-designer-query-builder-shows-black-area-tables-not-visible-delphi-12-rb-23-01</link>
        <pubDate>Tue, 23 Dec 2025 22:47:13 +0000</pubDate>
        <category>General</category>
        <dc:creator>heitorfss</dc:creator>
        <guid isPermaLink="false">22056@/forums/discussions</guid>
        <description><![CDATA[Hello,

I’m facing a visualization issue with the Query Designer (Query Builder) after migrating from Delphi XE to Delphi 12, using ReportBuilder 23.01.

Environment:

Delphi 12 (VCL)

ReportBuilder 23.01

Windows 10 / 11

VCL application (with VCL Styles enabled)

Problem description:
When opening the Query Designer, the window opens normally, but the “Available Tables” area is completely black, and no tables or content are rendered visually.

The selected tables appear correctly in the lower panel.

The database connection is valid and working.

This is not a dataset or connection issue.

The problem seems to be purely visual / rendering related.

I’ve attached a screenshot showing the black area in the Query Designer.

Notes:

This worked correctly in older Delphi versions.

Disabling VCL Styles or forcing the Windows theme seems to partially mitigate the issue.

It looks related to VCL Styles and/or DPI awareness with Delphi 12.

Has anyone experienced a similar issue with ReportBuilder 23.x?
Is this a known bug, or is there a recommended workaround or hotfix?

Thank you in advance.

IMAGE:

<a rel="nofollow" href="url">https://imgur.com/0NOSMpt </a>



]]>
        </description>
    </item>
    <item>
        <title>Infinite report generation</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22050/infinite-report-generation</link>
        <pubDate>Thu, 13 Nov 2025 10:50:14 +0000</pubDate>
        <category>General</category>
        <dc:creator>laurensvanrun</dc:creator>
        <guid isPermaLink="false">22050@/forums/discussions</guid>
        <description><![CDATA[There are cases where a report continues generation infinite since it somehow have issues placing components on a page. We can always solve this by pinpointing the erroneous component and fixing the report. However, our end users are able to create their own designs and re-introduce this problem themselves.

I want to prevent our software to have issues with these kind of reports. We now call <blockquote>ppReport.PrintToDevices</blockquote> and there the infinite generation/loop happens. Are there ways to "cancel" or "timeout" the generating of the report from code?]]>
        </description>
    </item>
    <item>
        <title>Usage of GDI32 in service process while drawing barcode (TppDrawBarCode)</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22051/usage-of-gdi32-in-service-process-while-drawing-barcode-tppdrawbarcode</link>
        <pubDate>Thu, 13 Nov 2025 11:40:27 +0000</pubDate>
        <category>General</category>
        <dc:creator>laurensvanrun</dc:creator>
        <guid isPermaLink="false">22051@/forums/discussions</guid>
        <description><![CDATA[We have (quite unpredictable) issues when using TppDrawBarCode in reports that are streamed to PDF in a Windows service. The situation where we get into is that generating a certain report in a background thread in a Windows service suddenly stops functioning correctly. This can only be resolved by restarting the server (restarting processes have no effect). Interesting enough is that, when we are in this failure state, generating the same report in interactive (UI) mode works flowless, but generating it from a background service creates a high CPU spike and the thread that is generating the report hangs. Running other Windows services generating the same report give the same issues when the OS/system is in this failure state. Interesting is that streaming a report as PDF !without! this barcode component works fine.

In this failure state, the generating thread always hangs on Vcl.Graphics.TResourceManager.FreeResource (in the GDI32 call to _DeleteObject) with a high CPU spike (some internal loop in GDI?). After rebooting the server, the exact same code works perfectly for very long periods (days/weeks). We have seen that these issues surface after a period of time and this strengthen us in the conclusion that the GDI heap might get corrupted, or is incorrectly used in the barcode component, which causes this "corruption". We have multiple callstacks that all narrows down to the mentioned code (GDI32 _DeleteObject). Correct usage of GDI in a non-UI Windows service in background threads is challenging and I suspect that the issue origins from how this is used in the barcode component.

After investigating the issue our suspicion is in (incorrect) usage of GDI32 in this barcode component. When generating the report (as PDF) TppPDFRendererGeneric.RenderToPDF calls TppDrawBarCode.AsMetaFile. Here we start doing GDI32 calls, for example setting the TBrush.SetColor or TCanvas.SetFont which are (sometimes) done on invalid/corrupted GDI handles. We have evidence of failures in at least the following two cases (callstacks) and here the thread hangs (with high CPU) in the TResourceManager.FreeResource.

<blockquote>_DeleteObject@4
TResourceManager.FreeResource
TResourceManager.ChangeResource
TBrush.SetData
TBrush.SetColor
TppDrawBarCode.AsMetaFile
TppPDFRendererGeneric.RenderToPDF
TppPDFDevice.DrawToPage
TppPDFDevice.SavePageToFile
TppFileDevice.ReceivePage
</blockquote>

<blockquote>
[77614628]{GDI32.dll   } pldcGet
[05237E49] Vcl.Graphics.TResourceManager.FreeResource
[05237F45] Vcl.Graphics.TResourceManager.AssignResource
[052386BC] Vcl.Graphics.TFont.Assign
[0523A589] Vcl.Graphics.TCanvas.SetFont
[075C91B6] ppBarCodDrwCmd.TppDrawBarCode.DrawBarCode (Line 985, "ppBarCodDrwCmd.pas")
[075C765B] ppBarCodDrwCmd.TppDrawBarCode.CalcBarCodeSize (Line 462, "ppBarCodDrwCmd.pas")
[075C7421] ppBarCodDrwCmd.TppDrawBarCode.AsMetaFile (Line 389, "ppBarCodDrwCmd.pas")
[0502D3DF] SysUtils.AnsiCompareText
[050D72EA] Classes.TStringList.CompareStrings
[050D6BD8] Classes.TStringList.IndexOf
[05114EE3] SyncObjs.TCriticalSection.Release
[0502D3DF] SysUtils.AnsiCompareText
[05114EE3] SyncObjs.TCriticalSection.Release
[073CA4CE] ppPrintr.TppCustomPrinter.GetDC (Line 3672, "ppPrintr.pas")
[073CA4EB] ppPrintr.TppCustomPrinter.GetDC (Line 3675, "ppPrintr.pas")
[0502D3DF] SysUtils.AnsiCompareText
[050D72EA] Classes.TStringList.CompareStrings
[050D6BD8] Classes.TStringList.IndexOf
[05114EE3] SyncObjs.TCriticalSection.Release
[0502D3DF] SysUtils.AnsiCompareText
[05114EE3] SyncObjs.TCriticalSection.Release
[073CA4CE] ppPrintr.TppCustomPrinter.GetDC (Line 3672, "ppPrintr.pas")
[073CA4EB] ppPrintr.TppCustomPrinter.GetDC (Line 3675, "ppPrintr.pas")
[07609282] ppPDFRendererGeneric.TppPDFRendererGeneric.RenderToPDF (Line 79, "ppPDFRendererGeneric.pas")
[075BCC85] ppPDFRenderer.TppPDFRenderer.SetGraphicsCanvas (Line 178, "ppPDFRenderer.pas")
[076368A5] ppPDFDevice.TppPDFDevice.DrawToPage (Line 702, "ppPDFDevice.pas")
</blockquote>

We have tested this in ReportBuilder 23.02, 22.06 and 22.02 when the system is in the failure state and all give the same issues.]]>
        </description>
    </item>
    <item>
        <title>TppRichText Component</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22048/tpprichtext-component</link>
        <pubDate>Sun, 02 Nov 2025 18:41:52 +0000</pubDate>
        <category>General</category>
        <dc:creator>tommyd</dc:creator>
        <guid isPermaLink="false">22048@/forums/discussions</guid>
        <description><![CDATA[Is there a way to get the contents (Lines) of a TppRichText component only on the current printing page at runtime? The TppRichText component spans multiple pages and I want to be able to retrieve only the contents of each page as it is rendered. I'm using Delphi 13 and RB Version 23.02 Build 288.]]>
        </description>
    </item>
    <item>
        <title>Error &quot;Cannot open file User/UserName/appdata/local/temp/2&quot;</title>
        <link>https://www.digital-metaphors.com/forums/discussion/22047/error-cannot-open-file-user-username-appdata-local-temp-2</link>
        <pubDate>Mon, 20 Oct 2025 06:57:17 +0000</pubDate>
        <category>General</category>
        <dc:creator>giacomocerati</dc:creator>
        <guid isPermaLink="false">22047@/forums/discussions</guid>
        <description><![CDATA[Hi all,
thanks in advance for the suggestions.
In an installation on a remote server with TSplus (2 users) sometimes we get a random error when we try to open an rtm. The rtm and the pipeline can be each time different, sometimes it works and  sometimes it gives the following error:
<b>"Cannot open file 'C:\Users\UserName\appdata\local\temp\2' The process cannot access to the directory because it is being used by another process".
</b>We are not able to reproduce the error and we have several installation with remote desktop that runs without problems.
Our software doesn't store anything in that dir, can be something related to Report Builder? Can be linked to TSplus?
Thank you.]]>
        </description>
    </item>
   </channel>
</rss>
