<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:re="http://purl.org/atompub/rank/1.0">
    <title type="text">Newest questions tagged c&#x2B;&#x2B;builder - Stack Overflow</title>
    <link rel="self" href="https://stackoverflow.com/feeds/tag?tagnames=c%2B%2Bbuilder&amp;sort=newest" type="application/atom+xml" />
    <link rel="alternate" href="https://stackoverflow.com/questions/tagged?tagnames=c%2b%2bbuilder&amp;sort=newest" type="text/html" />
    <subtitle>most recent 30 from stackoverflow.com</subtitle>
    <updated>2026-04-15T01:59:33Z</updated>
    <id>https://stackoverflow.com/feeds/tag?tagnames=c%2B%2Bbuilder&amp;sort=newest</id>
    <creativeCommons:license>https://creativecommons.org/licenses/by-sa/4.0/rdf</creativeCommons:license> 
    <entry>
        <id>https://stackoverflow.com/q/79915991</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">How can I compile an SQLite amalgamation version in C&#x2B;&#x2B; Builder CE?</title>
            <category scheme="https://stackoverflow.com/tags" term="c" />
            <category scheme="https://stackoverflow.com/tags" term="sqlite" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>LUN2</name>
            <uri>https://stackoverflow.com/users/32553664</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79915991/how-can-i-compile-an-sqlite-amalgamation-version-in-c-builder-ce" />
        <published>2026-03-27T20:46:30Z</published>
        <updated>2026-03-30T03:28:43Z</updated>
        <summary type="html">
            &lt;p&gt;To make a static library with an amalgamation version of SQLite to use in my C&#x2B;&#x2B; Builder program I created a static lib project and added 4 files from &lt;a href=&quot;https://sqlite.org/download.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;sqlite.org&lt;/a&gt; (C source code as an &lt;a href=&quot;https://sqlite.org/amalgamation.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;amalgamation&lt;/a&gt; version 3.51.3): shell.c, sqlite3.c, sqlite3.h, and sqlite3ext.c. I  placed them in one folder.&lt;/p&gt;&#xA;&lt;p&gt;As a result I got errors. Some symbols are undefined, &lt;code&gt;_O_WTEXT&lt;/code&gt;, etc.:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/b6oIALUr.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/b6oIALUr.png&quot; alt=&quot;screenshot of errors&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;What is the reason for these errors and how can I fix them?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79873963</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Update C&#x2B;&#x2B;Builder Rio from 10.3.2 to 10.3.3</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-10.3-rio" />
        <author>
            <name>Alain Bourgeois</name>
            <uri>https://stackoverflow.com/users/10624067</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79873963/update-cbuilder-rio-from-10-3-2-to-10-3-3" />
        <published>2026-01-22T16:23:42Z</published>
        <updated>2026-01-24T08:50:36Z</updated>
        <summary type="html">
            &lt;p&gt;Using C&#x2B;&#x2B;Builder 10.3 Rio Update 2, I tried to build OpenSSL, but unit tests fail.&lt;/p&gt;&#xA;&lt;p&gt;So, I think about updating to 10.3 Update 3 (to be sure, most components should continue to work).&lt;/p&gt;&#xA;&lt;p&gt;In the downloads, I saw 15 downloads concerning 10.3.3 (ISO is 7GB, Web Install is 10.3.2), but I didn&#x27;t see any &amp;quot;patch&amp;quot; to go from 10.3.2 to 10.3.3. Any hint?&lt;/p&gt;&#xA;&lt;p&gt;Is there any &amp;quot;update&amp;quot; path, or do I have to remove the whole software and reinstall all components one by one (and hoping unit tests for OpenSSL will work this time)?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79843479</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">How to copy C&#x2B;&#x2B; Builder control TEdit text into char * variable</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-13-florence" />
        <author>
            <name>Jeff McKay</name>
            <uri>https://stackoverflow.com/users/16754644</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79843479/how-to-copy-c-builder-control-tedit-text-into-char-variable" />
        <published>2025-12-10T22:55:28Z</published>
        <updated>2025-12-11T16:56:39Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;m using C&#x2B;&#x2B; Builder version 13. I&#x27;ve created a new application, but I am copying code from an old C&#x2B;&#x2B; Builder 2009 application into it.  I&#x27;ve got a lot of code that looks like this:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;char str[1024]=&amp;quot;&amp;quot;;&#xA;StrPCopy(str, edit1-&amp;gt;Text);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Where &lt;code&gt;edit1&lt;/code&gt; is a &lt;code&gt;TEdit&lt;/code&gt; control.&lt;/p&gt;&#xA;&lt;p&gt;This works fine in C&#x2B;&#x2B;Builder 2009, but in C&#x2B;&#x2B;Builder 13 I get a compile error:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;call to &#x27;StrPCopy&#x27; is ambiguous&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I have seen the advice to precede the call with &lt;code&gt;System::SysUtils::&lt;/code&gt; but that results in another error:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;no member named &#x27;SysUtils&#x27; in namespace &#x27;System&#x27;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I know there are alternatives to &lt;code&gt;StrPCopy&lt;/code&gt;, but I need to import thousands of lines of code from this old application, and I would very much like to use it as-is.&lt;/p&gt;&#xA;&lt;p&gt;What especially puzzles me is that I have other applications created in C&#x2B;&#x2B;Builder 13 where I use &lt;code&gt;StrPCopy()&lt;/code&gt; as above and they work fine. So, I guess I&#x27;ve got some compiler option set incorrectly, but I can&#x27;t figure out what it is.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79824356</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">How to use Pjsip library in Embarcadero C&#x2B;&#x2B;Builder</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="pjsip" />
        <author>
            <name>steve.b</name>
            <uri>https://stackoverflow.com/users/3680100</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79824356/how-to-use-pjsip-library-in-embarcadero-cbuilder" />
        <published>2025-11-19T10:55:26Z</published>
        <updated>2025-11-19T10:55:26Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;m trying to use the Pjsip library in a win32 program with Embarcadero C&#x2B;&#x2B;Builder 13.&#xA;I managed to compile the Pjsip library with Visual Studio Community 2026, thus obtaining the static &lt;code&gt;*.lib&lt;/code&gt; libraries.&#xA;Unfortunately, however, if I convert the libraries using coff2omf.exe to use them in C&#x2B;&#x2B;Builder, I get very small files compared to the originals which therefore do not actually contain the library functions.&#xA;Has anyone managed to use the Pjsip libraries in C&#x2B;&#x2B;Builder or can help me do so?&lt;/p&gt;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79824215</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Why does my VCL form created inside a DLL disappear when minimised</title>
            <category scheme="https://stackoverflow.com/tags" term="dll" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="vcl" />
            <category scheme="https://stackoverflow.com/tags" term="minimize" />
            <category scheme="https://stackoverflow.com/tags" term="tform" />
        <author>
            <name>manlio</name>
            <uri>https://stackoverflow.com/users/3235496</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79824215/why-does-my-vcl-form-created-inside-a-dll-disappear-when-minimised" />
        <published>2025-11-19T08:35:32Z</published>
        <updated>2025-11-19T15:02:24Z</updated>
        <summary type="html">
            &lt;p&gt;I have a Windows VCL application written in C&#x2B;&#x2B;Builder. Some of the UI is implemented inside a DLL rather than directly in the main EXE.&lt;/p&gt;&#xA;&lt;p&gt;The DLL exports a function that creates and shows a VCL form, something like:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;extern &amp;quot;C&amp;quot; __declspec(dllexport)&#xA;void __stdcall show_plugin_form()&#xA;{&#xA;  auto *f(new TPluginForm(nullptr));&#xA;  f-&amp;gt;Show();&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Owner is intentionally &lt;code&gt;nullptr&lt;/code&gt; because the form is created inside a DLL and I don&#x27;t want it auto-destroyed by the EXE&#x27;s main form.&lt;/p&gt;&#xA;&lt;p&gt;The form displays correctly and behaves normally until I minimise it. As soon as it is minimised:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the form does not appear on the taskbar;&lt;/li&gt;&#xA;&lt;li&gt;it also doesn&#x27;t appear in the &lt;kbd&gt;Alt&lt;/kbd&gt;&#x2B;&lt;kbd&gt;Tab&lt;/kbd&gt; list.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;It seems to vanish, even though the process is still running. It becomes impossible to restore unless I explicitly call &lt;code&gt;f-&amp;gt;Show()&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I checked common properties:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;FormStyle = fsNormal&lt;/code&gt;;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;BorderIcons&lt;/code&gt; includes &lt;code&gt;biSystemMenu&lt;/code&gt; and &lt;code&gt;biMinimize&lt;/code&gt;;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;BorderStyle&lt;/code&gt; is sizeable;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;WindowState = wsNormal&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79817495</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">Old functions suddenly being loaded from a different Windows DLL (that doesn&#x27;t exist on Windows 7)</title>
            <category scheme="https://stackoverflow.com/tags" term="windows" />
            <category scheme="https://stackoverflow.com/tags" term="dll" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-13-florence" />
        <author>
            <name>Peter</name>
            <uri>https://stackoverflow.com/users/2650419</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79817495/old-functions-suddenly-being-loaded-from-a-different-windows-dll-that-doesnt-e" />
        <published>2025-11-12T08:41:49Z</published>
        <updated>2025-11-12T20:49:45Z</updated>
        <summary type="html">
            &lt;p&gt;I upgraded to C&#x2B;&#x2B;Builder 13 not long after it came out, all patches applied, coming from 12.3 and having gone through all versions since 11.0 for this particular project.&lt;/p&gt;&#xA;&lt;p&gt;The code did not change much, a few features added, but nothing related to this issue (I checked).&lt;/p&gt;&#xA;&lt;p&gt;It appears that the 64-bit &#x27;modern&#x27; build doesn&#x27;t work on Windows 7 anymore (32-bit still works fine). This flew under the radar (I did not expect this issue to suddenly occur) and it is now being reported by people in a Beta build with a final release just around the corner.&lt;/p&gt;&#xA;&lt;p&gt;I was also blindsided by the fact that Windows 7 is not officially supported anymore by the new toolset.  Too many people still use Windows 7.  Annoying.&lt;/p&gt;&#xA;&lt;p&gt;To the point. I noticed that &lt;code&gt;CommandLineToArgvW()&lt;/code&gt; and &lt;code&gt;SHStrDupW()&lt;/code&gt; are now loaded from &lt;code&gt;SHCORE.dll&lt;/code&gt;.  This DLL does not exist on Windows 7 systems.&lt;/p&gt;&#xA;&lt;p&gt;But why?  These functions, in all previous builds, were always loaded from different DLLs (that DO exist on Windows 7):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;CommandLineToArgvW&lt;/code&gt; -&amp;gt; &lt;code&gt;SHELL32.dll&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;SHStrDupW&lt;/code&gt; -&amp;gt; &lt;code&gt;SHLWAPI32.dll&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I figure that this is due to included headers.  However, it is very much out of my comfort zone to mess with compiler installed headers.  I also don&#x27;t know how much of this is baked into VCL and other pre-compiled toolset-installed libraries.&lt;/p&gt;&#xA;&lt;p&gt;Any idea why this is happening with the new IDE?  Why they might have changed this (&lt;strong&gt;if&lt;/strong&gt; purposely changed)?  How could I possibly work around this for my upcoming release?&lt;/p&gt;&#xA;&lt;p&gt;I can, of course, go back to 12.3, and I checked, those builds still work fine.  But first, I&#x27;d like to explore this.&lt;/p&gt;&#xA;&lt;p&gt;I also reported a &#x27;bug&#x27; with Embarcadero, but I had no idea they removed Windows 7 support.  I did not see it announced anywhere, but I fear they won&#x27;t look at it.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-4590&quot; rel=&quot;nofollow noreferrer&quot;&gt;RSS-4590: 64 bit &#x27;modern&#x27; builds don&#x27;t run on W7 anymore (32 bit builds still work)&lt;/a&gt;&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79815524</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">TImage image is being truncated</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="windows" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="vcl" />
            <category scheme="https://stackoverflow.com/tags" term="timage" />
        <author>
            <name>StinkyPete</name>
            <uri>https://stackoverflow.com/users/1039621</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79815524/timage-image-is-being-truncated" />
        <published>2025-11-10T11:16:14Z</published>
        <updated>2025-11-10T19:15:26Z</updated>
        <summary type="html">
            &lt;p&gt;I have written a Print Preview option for a larger application. Mostly it works to my satisfaction, except sometimes the image is truncated.&lt;/p&gt;&#xA;&lt;p&gt;The code below is a much cut-down version that shows the problem. I have a &lt;code&gt;TPanel&lt;/code&gt; on which I am putting a &lt;code&gt;TImage&lt;/code&gt;, which for now is just a white rectangle with a red line going from the top left corner to the bottom right.&lt;/p&gt;&#xA;&lt;p&gt;In the larger application, I want to choose between A4 portrait size and A4 landscape. My little app here has two buttons to choose which page size is required.&lt;/p&gt;&#xA;&lt;p&gt;Here&#x27;s the problem. When I start the app and select Portrait, it works correctly:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/JpD3OQ2C.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/JpD3OQ2C.png&quot; alt=&quot;portrait-portrait&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;But, when I then click Landscape, the image is truncated. You can see which way the red line is going:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/fIS2n36t.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/fIS2n36t.png&quot; alt=&quot;portrait-landscape&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, when I stop the app and restart it and select Landscape, it works ok:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/QSLpjPxn.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/QSLpjPxn.png&quot; alt=&quot;landscape-landscape&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;When I then click Portrait, it is this image that is now truncated:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/IdnStyWk.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/IdnStyWk.png&quot; alt=&quot;landscape-portrait&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;How can I get this to work?&lt;/p&gt;&#xA;&lt;p&gt;My code is below:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;const float A4width = 8.27/4, A4height = 11.69/4;&#xA;&#xA;__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)&#xA;{&#xA;    image = new TImage(Owner);&#xA;    image-&amp;gt;Parent = Panelpreview;&#xA;    image-&amp;gt;Left = 16;&#xA;    image-&amp;gt;Top = 16;&#xA;}&#xA;&#xA;// Portrait button click&#xA;void __fastcall TForm1::BportraitClick(TObject *Sender)&#xA;{&#xA;    fheight = A4height;&#xA;    fwidth = A4width;&#xA;&#xA;    showPreview();&#xA;}&#xA;&#xA;//Landscape button click&#xA;void __fastcall TForm1::BlandscapeClick(TObject *Sender)&#xA;{&#xA;    fheight = A4width;&#xA;    fwidth = A4height;&#xA;&#xA;    showPreview();&#xA;}&#xA;&#xA;// Draw the picture&#xA;void TForm1::showPreview()&#xA;{&#xA;    int pagewidth, pageheight;&#xA;    TRect imagerect;&#xA;&#xA;    pagewidth = fwidth * Canvas-&amp;gt;Font-&amp;gt;PixelsPerInch;&#xA;    pageheight = fheight * Canvas-&amp;gt;Font-&amp;gt;PixelsPerInch;&#xA;    imagerect = TRect(0, 0, pagewidth, pageheight);&#xA;&#xA;    image-&amp;gt;Width = pagewidth;&#xA;    image-&amp;gt;Height = pageheight;&#xA;&#xA;    image-&amp;gt;Canvas-&amp;gt;Brush-&amp;gt;Color = clWhite;&#xA;    image-&amp;gt;Canvas-&amp;gt;FillRect(imagerect);&#xA;    image-&amp;gt;Canvas-&amp;gt;Pen-&amp;gt;Color = clRed;&#xA;    image-&amp;gt;Canvas-&amp;gt;MoveTo(0, 0);&#xA;    image-&amp;gt;Canvas-&amp;gt;LineTo(pagewidth, pageheight);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79809594</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Indy IdHTTPWebBrokerBridge linker error in Embarcadero C&#x2B;&#x2B;Builder 12.1 Community Edition</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="indy" />
            <category scheme="https://stackoverflow.com/tags" term="indy10" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-12-athens" />
        <author>
            <name>Robert Price</name>
            <uri>https://stackoverflow.com/users/31206125</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79809594/indy-idhttpwebbrokerbridge-linker-error-in-embarcadero-cbuilder-12-1-community" />
        <published>2025-11-05T03:36:38Z</published>
        <updated>2025-11-05T18:29:12Z</updated>
        <summary type="html">
            &lt;p&gt;I used the SOAP app wizard to create a shell for a simple web interface. My RAD Studio C&#x2B;&#x2B;Builder 12.1 has lots of Indy and SOAP components in the Palette, so it seems to be installed. But I get a linker error:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[ld.lld Error] ld.lld: error: Could not locate the file &#x27;IdHTTPWebBrokerBridge.o&#x27;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Which is not surprising since there are no files with that name of any extension.&lt;/p&gt;&#xA;&lt;p&gt;I&#x27;ve looked at GetIt but no Indy options (thinking it was not actually installed maybe).&lt;/p&gt;&#xA;&lt;p&gt;Suggestions?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79803254</id>
        <re:rank scheme="https://stackoverflow.com">-3</re:rank>
        <title type="text">C&#x2B;&#x2B;Builder 13 Console Window is Truncated [closed]</title>
            <category scheme="https://stackoverflow.com/tags" term="console" />
            <category scheme="https://stackoverflow.com/tags" term="console-application" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>Bob Penoyer</name>
            <uri>https://stackoverflow.com/users/14593559</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79803254/cbuilder-13-console-window-is-truncated" />
        <published>2025-10-28T20:54:59Z</published>
        <updated>2025-10-29T00:43:28Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;ve revisited an old console app that generates output of more than 25 lines. Unlike my earlier experiences with C&#x2B;&#x2B;Builder, the output window using C&#x2B;&#x2B;Builder 13 truncates to 25 lines. I am prevented from rolling back over earlier output information. Is there a fix for this?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79802313</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Porting C&#x2B;&#x2B; Builder 2009 to version 13</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>Jeff McKay</name>
            <uri>https://stackoverflow.com/users/16754644</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79802313/porting-c-builder-2009-to-version-13" />
        <published>2025-10-27T23:21:31Z</published>
        <updated>2025-10-28T17:56:29Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;m trying to take a project made with C&#x2B;&#x2B; Builder 2009 and build it on C&#x2B;&#x2B; Builder 13 (Florence). I&#x27;m getting a whole bunch of errors on statements like this:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;StrPCopy(str, UTF8String(edit2-&amp;gt;Text).c_str());&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The error is:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;error E2015: E2015 Ambiguity between &#x27;_fastcall System::Sysutils::StrPCopy(char *,const System::AnsiStringT&amp;lt;0&amp;gt;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Is there a way I can quickly re-configure the project to avoid this error, or do I need to do something to each of my calls to StrCopy?  I&#x27;m trying to avoid as much re-doing of the application as possible.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79779017</id>
        <re:rank scheme="https://stackoverflow.com">-1</re:rank>
        <title type="text">C&#x2B;&#x2B;Builder 12 problem with XML prefixes - property Text from IXMLNode is always empty</title>
            <category scheme="https://stackoverflow.com/tags" term="xml" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="xml-namespaces" />
            <category scheme="https://stackoverflow.com/tags" term="prefix" />
        <author>
            <name>ThomasB</name>
            <uri>https://stackoverflow.com/users/31601592</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79779017/cbuilder-12-problem-with-xml-prefixes-property-text-from-ixmlnode-is-always" />
        <published>2025-09-30T10:59:03Z</published>
        <updated>2025-10-01T19:02:06Z</updated>
        <summary type="html">
            &lt;p&gt;If I try to read an XML document without prefixes, it works fine. But with prefixes, I&#x27;m not getting the content.&lt;/p&gt;&#xA;&lt;p&gt;Sample:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-xml prettyprint-override&quot;&gt;&lt;code&gt;&amp;lt;rsm:CrossIndustryInvoice xmlns:a=&amp;quot;urn:un:unece:uncefact:data:standard:QualifiedDataType:100&amp;quot;&#xA;    xmlns:rsm=&amp;quot;urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100&amp;quot;&#xA;    xmlns:qdt=&amp;quot;urn:un:unece:uncefact:data:standard:QualifiedDataType:100&amp;quot;&#xA;    xmlns:ram=&amp;quot;urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100&amp;quot;&#xA;    xmlns:xs=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&#xA;    xmlns:udt=&amp;quot;urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100&amp;quot;&amp;gt;&#xA;    &amp;lt;rsm:ExchangedDocumentContext&amp;gt;&#xA;        &amp;lt;ram:BusinessProcessSpecifiedDocumentContextParameter&amp;gt;&#xA;            &amp;lt;ram:ID&amp;gt;urn:fdc:peppol.eu:2017:poacc:billing:01:1.0&amp;lt;/ram:ID&amp;gt;&#xA;            &amp;lt;ram:GuidelineSpecifiedDocumentContextParameter&amp;gt;&#xA;                &amp;lt;ram:ID&amp;gt;urn:cen.eu:en16931:2017&amp;lt;/ram:ID&amp;gt;&#xA;            &amp;lt;/ram:GuidelineSpecifiedDocumentContextParameter&amp;gt;&#xA;        &amp;lt;/ram:BusinessProcessSpecifiedDocumentContextParameter&amp;gt;&#xA;    &amp;lt;/rsm:ExchangedDocumentContext&amp;gt;&#xA;    &amp;lt;rsm:ExchangedDocument&amp;gt;&#xA;        &amp;lt;ID&amp;gt;RE-88443&amp;lt;/ID&amp;gt;&#xA;        &amp;lt;ram:TypeCode&amp;gt;380&amp;lt;/ram:TypeCode&amp;gt;&#xA;        &amp;lt;ram:IssueDateTime&amp;gt;&#xA;            &amp;lt;udt:DateTimeString format=&amp;quot;102&amp;quot;&amp;gt;20250425&amp;lt;/udt:DateTimeString&amp;gt;&#xA;        &amp;lt;/ram:IssueDateTime&amp;gt;&#xA;    &amp;lt;/rsm:ExchangedDocument&amp;gt;&#xA;&amp;lt;/rsm:CrossIndustryInvoice&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;IXMLNode* node = GetEDoc()-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;rsm:CrossIndustryInvoice&amp;quot;);&#xA;IXMLNode* ExchangedDocument = node-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;rsm:ExchangedDocument&amp;quot;);&#xA;if (ExchangedDocument == NULL) return &amp;quot;ExchangedDocument -&amp;gt; NULL&amp;quot;;&#xA;IXMLNode* ID = ExchangedDocument-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;ram:ID&amp;quot;);&#xA;if (ID == NULL) return &amp;quot;ID -&amp;gt; NULL&amp;quot;;&#xA;UnicodeString value = ID-&amp;gt;Text;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The &lt;code&gt;ID&lt;/code&gt; is always empty.&lt;/p&gt;&#xA;&lt;p&gt;If I remove the &lt;code&gt;rsm:&lt;/code&gt; and &lt;code&gt;ram:&lt;/code&gt; from the XML, and change the code to remove &lt;code&gt;rsm:&lt;/code&gt; and &lt;code&gt;ram:&lt;/code&gt;, I&#x27;m getting the value from the &lt;code&gt;ID&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That&#x27;s what I expect also with the prefixes.&lt;/p&gt;&#xA;&lt;p&gt;I also tried to use:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;ExchangedDocument-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;ID&amp;quot;, &amp;quot;ram&amp;quot;);&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;or :&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;ExchangedDocument-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;ID&amp;quot;);&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;And if I start with below, no node is found:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;GetEDoc()-&amp;gt;ChildNodes-&amp;gt;FindNode(&amp;quot;CrossIndustryInvoice&amp;quot;, &amp;quot;rsm&amp;quot;);&lt;/code&gt;&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79768696</id>
        <re:rank scheme="https://stackoverflow.com">2</re:rank>
        <title type="text">How to prevent dithering when rendering a 24 bpp bitmap with GDI&#x2B;?</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="gdi&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="vcl" />
        <author>
            <name>Martin Nijhoff</name>
            <uri>https://stackoverflow.com/users/13770239</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79768696/how-to-prevent-dithering-when-rendering-a-24-bpp-bitmap-with-gdi" />
        <published>2025-09-18T16:07:09Z</published>
        <updated>2025-09-19T07:49:48Z</updated>
        <summary type="html">
            &lt;p&gt;In C&#x2B;&#x2B;Builder, I have a small VCL application that creates a 100 x 100 pixel, 24 bpp &lt;code&gt;Gdiplus::Bitmap&lt;/code&gt; and fills it with the default form background color (&lt;code&gt;clBtnFace&lt;/code&gt; / &lt;code&gt;COLOR_BTNFACE&lt;/code&gt;). A &lt;code&gt;TPaintBox&lt;/code&gt; fills an area of 100 x 100 pixels with the same color on the left, renders the generated bitmap on the right and outputs the &lt;code&gt;Gdiplus::Color&lt;/code&gt; components on the bottom.&lt;/p&gt;&#xA;&lt;p&gt;Here&#x27;s the code for the &lt;code&gt;OnPaint&lt;/code&gt; event handler of the &lt;code&gt;TPaintBox&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;void __fastcall TForm1::PaintBox1Paint (TObject *Sender)&#xA;{&#xA;    Gdiplus::Color Color;&#xA;    Color.SetFromCOLORREF(GetSysColor(COLOR_BTNFACE));&#xA;&#xA;    PaintBox1-&amp;gt;Canvas-&amp;gt;TextOut(0, 108, ColorToStr(Color));&#xA;&#xA;    Gdiplus::SolidBrush Brush(Color);&#xA;    Gdiplus::Pen Pen(Gdiplus::Color::Black);&#xA;&#xA;    Gdiplus::Bitmap Bitmap(100, 100, PixelFormat24bppRGB);&#xA;&#xA;    if (Bitmap.GetLastStatus() == Gdiplus::Ok)&#xA;    {&#xA;        Gdiplus::Graphics g(&amp;amp;Bitmap);&#xA;&#xA;        g.FillRectangle(&amp;amp;Brush, 0, 0, 100, 100);&#xA;&#xA;        if (g.GetLastStatus() != Gdiplus::Ok)&#xA;            return;&#xA;    }&#xA;    else&#xA;        return;&#xA;&#xA;    Gdiplus::Graphics g(PaintBox1-&amp;gt;Canvas-&amp;gt;Handle);&#xA;&#xA;    g.FillRectangle(&amp;amp;Brush, 0, 0, 100, 100);&#xA;    g.DrawImage(&amp;amp;Bitmap, 100, 0);&#xA;    g.DrawRectangle(&amp;amp;Pen, 0, 0, 200, 100);&#xA;    g.DrawLine(&amp;amp;Pen, 100, 0, 100, 100);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;When I run the application on my local PC, the areas on the left and right have a solid color (R: 224, G: 223, B: 227), exactly as output by the application.&lt;/p&gt;&#xA;&lt;p&gt;When I run the application via a Remote Desktop connection with 16 bpp, the area on the left (rendered by &lt;code&gt;Graphics::FillRectangle()&lt;/code&gt;) has a solid color. However, the area on the right (the bitmap rendered by &lt;code&gt;Graphics::DrawImage()&lt;/code&gt;) is dithered, as shown in the screenshot below.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/DP566h4E.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/DP566h4E.png&quot; alt=&quot;Screenshot&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here&#x27;s what it looks like, when I zoom in:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/XWkXmf0c.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/XWkXmf0c.png&quot; alt=&quot;Screenshot zoomed-in&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;When I save the generated &lt;code&gt;Gdiplus::Bitmap&lt;/code&gt; on the remote PC to a .BMP file and open it in a photo editor, the bitmap contains a solid color (R: 224, G: 223, B: 227), exactly as output by the application. That means the generated bitmap is not dithered and the dithering must occur in the &lt;code&gt;Graphics::DrawImage()&lt;/code&gt; call.&lt;/p&gt;&#xA;&lt;p&gt;The form background color (&lt;code&gt;clBtnFace&lt;/code&gt; / &lt;code&gt;COLOR_BTNFACE&lt;/code&gt;) is in the 16 bpp color palette, otherwise the area on the left wouldn&#x27;t be a solid color that exactly matches the color output by the application.&lt;/p&gt;&#xA;&lt;p&gt;How do I prevent &lt;code&gt;Graphics::DrawImage()&lt;/code&gt; using dithering when rendering the (full color) bitmap?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79763568</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">C&#x2B;&#x2B;Builder 13 fails to link while Webroot SecureAnywhere is running</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-13-florence" />
        <author>
            <name>Bob Penoyer</name>
            <uri>https://stackoverflow.com/users/14593559</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79763568/cbuilder-13-fails-to-link-while-webroot-secureanywhere-is-running" />
        <published>2025-09-13T07:12:06Z</published>
        <updated>2025-10-15T12:17:06Z</updated>
        <summary type="html">
            &lt;p&gt;C&#x2B;&#x2B;Builder 13 cannot find file &lt;code&gt;MyApp.tds&lt;/code&gt; while Webroot SecureAnywhere is running. Compile and link are possible only when Webroot SecureAnywhere has been shut down.&lt;/p&gt;&#xA;&lt;p&gt;Is there a way to keep Webroot SecureAnywhere running but not interfere with compiling and linking?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79762920</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">How to read a TBitmap property from an old DFM stream into a TPicture property in C&#x2B;&#x2B;Builder 1?</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="vcl" />
        <author>
            <name>Martin Nijhoff</name>
            <uri>https://stackoverflow.com/users/13770239</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79762920/how-to-read-a-tbitmap-property-from-an-old-dfm-stream-into-a-tpicture-property-i" />
        <published>2025-09-12T12:16:38Z</published>
        <updated>2025-09-13T01:49:45Z</updated>
        <summary type="html">
            &lt;p&gt;In C&#x2B;&#x2B;Builder 1 (ancient, I know), I have a class &lt;code&gt;TGlyph&lt;/code&gt; with a &lt;code&gt;Graphics::TBitmap&lt;/code&gt; property:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;class TGlyph : public TPersistent&#xA;{&#xA;    typedef TPersistent inherited;&#xA;&#xA;    private:&#xA;        Graphics::TBitmap* FBitmap;&#xA;    &#xA;        void __fastcall SetBitmap (Graphics::TBitmap* Value);&#xA;        void __fastcall BitmapChanged (TObject *Sender);&#xA;    &#xA;    public:&#xA;        __fastcall TGlyph ();&#xA;        __fastcall ~TGlyph ();&#xA;&#xA;    __published:&#xA;        __property Graphics::TBitmap* Bitmap = {read=FBitmap, write=SetBitmap};&#xA;};&#xA;    &#xA;    &#xA;__fastcall TGlyph::TGlyph () : inherited()&#xA;{&#xA;    FBitmap = new Graphics::TBitmap();&#xA;    FBitmap-&amp;gt;OnChange = BitmapChanged;&#xA;}&#xA;    &#xA;__fastcall TGlyph::~TGlyph ()&#xA;{&#xA;    delete FBitmap;&#xA;}&#xA;    &#xA;void __fastcall TGlyph::SetBitmap (Graphics::TBitmap* Value)&#xA;{&#xA;    FBitmap-&amp;gt;Assign(Value);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The &lt;code&gt;TGlyph&lt;/code&gt; class is used by my custom control class &lt;code&gt;TMyControl&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When I view a form that contains a &lt;code&gt;TMyControl&lt;/code&gt; as text or copy/paste the &lt;code&gt;TMyControl&lt;/code&gt; control into Notepad, I see the &lt;code&gt;Bitmap&lt;/code&gt; property stored as binary data in &lt;code&gt;Glyph.Bitmap.Data&lt;/code&gt; as follows:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;object MyControl1: TMyControl&#xA;  Left = 8&#xA;  Top = 8&#xA;  Width = 86&#xA;  Height = 64&#xA;  Caption = &#x27;ABORT&#x27;&#xA;  TabOrder = 0&#xA;  Glyph.Bitmap.Data = {&#xA;    2E0D0000424D2E0D0000000000007600000028000000AC000000250000000100&#xA;    040000000000B80C000000000000000000000000000000000000000000000000&#xA;    80000080000000808000800000008000800080800000C0C0C000808080000000&#xA;    FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF00666666666666&#xA;    6666666666666666666666666666666666666666666666666666666666666666&#xA;    666666666666666666666666666666666666666666666FFFFFFFFFFFFFFFFFF6&#xA;    6666666666666666666666666666666600006666666666666666666666666666&#xA;    6666660000000000000000006666666666666666666666666666666666666666&#xA;    66666666666666666666666666668888888888888888886F6666666666666666&#xA;    666666666666666600006666666666666666666666666666666660FFFFFFFFFF&#xA;    FFFFFFFF06666666666666666666666666666666666666666666666666666666&#xA;    66666666666866666666666666666686F6666666666666666666666666666666&#xA;    0000666666666666666666666666666666660FFFFFFFFFFFFFFFFFFFF0666666&#xA;    6666666666666666666666666666666666666666666666666666666666866666&#xA;    66666666666666686F6666666666666666666666666666660000666666666666&#xA;    66666666666666666660FF999999999999999999FF0666666666666666666666&#xA;    6666666666666666666666666666666666666666686666666666666666666666&#xA;    86F6666666666666666666666666666600006666666666666666666666666666&#xA;    660FF99999999999999999999FF0666666666666666666666666666666666666&#xA;    666666666666666666666666866666666666666666666666686F666666666666&#xA;    66666666666666660000666666666666666666666666666660FF999999999999&#xA;    9999999999FF0666666666666666666666666666666666666666666666666666&#xA;    666666686666666666666666666666666686F666666666666666666666666666&#xA;    000066666666666666666666666666660FF999999999999999999999999FF066&#xA;    6666666666666666666666666666666666666666666666666666668666666666&#xA;    666666666666666666686F666666666666666666666666660000666666666666&#xA;    6666666666666660FF99999999999999999999999999FF066666666666666666&#xA;    6666666666666666666666666666666666666866666666666666666666666666&#xA;    666686F66666666666666666666666660000666666666666666666666666660F&#xA;    F9999999999999999999999999999FF066666666666666666666666666666666&#xA;    6666666666666666666686666666666666666666666666666666686F66666666&#xA;    6666666666666666000066666666666666666666666660FF9999999999999999&#xA;    99999999999999FF066666666666666666666666666666666666666666666666&#xA;    6668666666666666666666666666666666666686F66666666666666666666666&#xA;    00006666666666666666666666660FF99999999999999999999999999999999F&#xA;    F06666666666666666666666666666666666666666666666668F666666666666&#xA;    666666666666666666666668F666666666666666666666660000666666666666&#xA;    6666666666660FF99999999999999999999999999999999FF066666666666666&#xA;    66666666666666666666666666666666668F66666FFFF6666FF66666FFF666FF&#xA;    66666668F6666666666666666666666600006666666666666666666666660FF9&#xA;    99FFFF9999FF99999FFF999FF999999FF0666666666666666666666666666666&#xA;    6666666666666666668F66668888FF6688F6666888FF688F66666668F6666666&#xA;    666666666666666600006666666666666666666666660FF99FFFFFF999FF9999&#xA;    FFFFF99FF999999FF06666666666666666666666666666666666666666666666&#xA;    668F666888888F6688F66688888FF88F66666668F66666666666666666666666&#xA;    00006666666666666666666666660FF99FF99FF999FF999FFF9FFF9FF999999F&#xA;    F06666666666666666666666666666666666666666666666668F666886688F66&#xA;    88F668886888F88F66666668F666666666666666666666660000666666666666&#xA;    6666666666660FF999999FF999FF999FF999FF9FF999999FF066666666666666&#xA;    66666666666666666666666666666666668F666666688F6688F6688F6688F88F&#xA;    66666668F6666666666666666666666600006666666666666666666666660FF9&#xA;    9999FFF999FF999FF999FF9FF999999FF0666666666666666666666666666666&#xA;    6666666666666666668F66666688866688F6688F6688F88FFFF66668F6666666&#xA;    666666666666666600006666666666666666666666660FF9999FFF9999FF999F&#xA;    F999FF9FFFFF999FF06666666666666666666666666666666666666666666666&#xA;    668F66666888666688F6688F6688F88888FF6668F66666666666666666666666&#xA;    00006666666666666666666666660FF999FFF99999FF999FF999FF9FFFFFF99F&#xA;    F06666666666666666666666666666666666666666666666668F666688866666&#xA;    88F6688F6688F888888F6668F666666666666666666666660000666666666666&#xA;    6666666666660FF99FFF999999FF999FF999FF9FF99FF99FF066666666666666&#xA;    66666666666666666666666666666666668F66688866666688F6688F6688F88F&#xA;    688F6668F6666666666666666666666600006666666666666666666666660FF9&#xA;    9FF9999999FF999FF999FF9FF99FF99FF0666666666666666666666666666666&#xA;    6666666666666666668F66688F66FF6688F6688FF688F88F688F6668F6666666&#xA;    666666666666666600006666666666666666666666660FF99FF99FF999FF999F&#xA;    FF9FFF9FF99FF99FF06666666666666666666666666666666666666666666666&#xA;    668F66688FF88F6F88FFF888F888688FF88F6668F66666666666666666666666&#xA;    00006666666666666666666666660FF99FFFFFF9FFFFFF99FFFFF99FFFFFF99F&#xA;    F066666666666666666666666666666FF666666FFFFFFF66668F666888888688&#xA;    8888F6888886688888866668F666666666666666666666660000666600666666&#xA;    0000000666660FF999FFFF99FFFFFF999FFF999FFFFF999FF066666666666666&#xA;    6666666666666688F666668888888F66668F6666888866888888666888666888&#xA;    88666668F6666666666666666666666600006666006666660000000666660FF9&#xA;    9999999999999999999999999999999FF0666666666666666666666666666688&#xA;    F666668888888666668F666666666666666666666666666666666668F6666666&#xA;    666666666666666600006666006666660006666666660FF99999999999999999&#xA;    999999999999999FF0666666666666666666666666666688F66666888F666666&#xA;    6686F66666666666666666666666666666666668666666666666666666666666&#xA;    000066660066666660006666666660FF999999999999999999999999999999FF&#xA;    06666666666666666666666666666688F666666888F6666666686F6666666666&#xA;    6666666666666666666666866666666666666666666666660000666600666666&#xA;    660006666666660FF9999999999999999999999999999FF06666666666666666&#xA;    6666666666666688FFFFF666888F6666666686F6666666666666666666666666&#xA;    6666686666666666666666666666666600006666000000666660006666666660&#xA;    FF99999999999999999999999999FF0666666666666666666666666666666688&#xA;    8888F6666888F6666666686F6666666666666666666666666666866666666666&#xA;    6666666666666666000066660000006666660006666666660FF9999999999999&#xA;    99999999999FF066666666666666666666666666666666888888666FF6888F66&#xA;    66666686F6666666666666666666666666686666666666666666666666666666&#xA;    0000666600666666006660066666666660FF9999999999999999999999FF0666&#xA;    66666666666666666666666666666688F6666688F6688F66666666686F666666&#xA;    6666666666666666668666666666666666666666666666660000666600666666&#xA;    0066600666666666660FF99999999999999999999FF066666666666666666666&#xA;    6666666666666688FFFFFF88FFF88F666666666686F666666666666666666666&#xA;    6866666666666666666666666666666600006666000000060000000666666666&#xA;    6660FF999999999999999999FF06666666666666666666666666666666666688&#xA;    88888F888888866666666666686F666666666666666666668666666666666666&#xA;    66666666666666660000666600000006600000666666666666660FFFFFFFFFFF&#xA;    FFFFFFFFF0666666666666666666666666666666666666888888866888886666&#xA;    666666666686F666666666666666666866666666666666666666666666666666&#xA;    00006666666666666666666666666666666660FFFFFFFFFFFFFFFFFF06666666&#xA;    6666666666666666666666666666666666666666666666666666666666686FFF&#xA;    FFFFFFFFFFFFFF86666666666666666666666666666666660000666666666666&#xA;    6666666666666666666666000000000000000000666666666666666666666666&#xA;    6666666666666666666666666666666666666666666688888888888888888866&#xA;    666666666666666666666666666666660000}&#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The binary data starts with a 32-bit length field (0x000002DE = 3374 bytes), followed by a &lt;code&gt;BITMAPFILEHEADER&lt;/code&gt; struct, etc.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;Bitmap&lt;/code&gt; property is now deprecated and replaced by a &lt;code&gt;Graphics::TPicture&lt;/code&gt; property. The object is to read the deprecated &lt;code&gt;Bitmap&lt;/code&gt; property and place it in the &lt;code&gt;Picture&lt;/code&gt; property, discarding the &lt;code&gt;Bitmap&lt;/code&gt; property from the DFM when it&#x27;s saved.&lt;/p&gt;&#xA;&lt;p&gt;I use &lt;code&gt;DefineProperties()&lt;/code&gt; to define a fake &lt;code&gt;Bitmap&lt;/code&gt; property with only a reader callback procedure, like this:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;class TGlyph : public TPersistent&#xA;{&#xA;    typedef TPersistent inherited;&#xA;    &#xA;    private:&#xA;        Graphics::TPicture* FPicture;&#xA;&#xA;        void __fastcall SetPicture (Graphics::TPicture* Value);&#xA;        void __fastcall PictureChanged (TObject *Sender);&#xA;        void __fastcall ReadBitmap (TStream *Stream);&#xA;    &#xA;    protected:&#xA;        virtual void __fastcall DefineProperties (TFiler *Filer);&#xA;    &#xA;    __published:&#xA;        __property Graphics::TPicture* Picture = {read=FPicture, write=SetPicture};&#xA;};&#xA;    &#xA;    &#xA;__fastcall TGlyph::TGlyph () : inherited()&#xA;{&#xA;    FPicture = new Graphics::TPicture();&#xA;    FPicture-&amp;gt;OnChange = PictureChanged;&#xA;}&#xA;    &#xA;__fastcall TGlyph::~TGlyph ()&#xA;{&#xA;    delete FPicture;&#xA;}&#xA;    &#xA;void __fastcall TGlyph::SetPicture (Graphics::TPicture* Value)&#xA;{&#xA;    FPicture-&amp;gt;Assign(Value);&#xA;}&#xA;    &#xA;void __fastcall TGlyph::ReadBitmap (TStream *Stream)&#xA;{&#xA;    FPicture-&amp;gt;Graphic-&amp;gt;LoadFromStream(Stream);&#xA;}&#xA;    &#xA;void __fastcall TGlyph::DefineProperties (TFiler *Filer)&#xA;{&#xA;    inherited::DefineProperties(Filer);&#xA;    &#xA;    Filer-&amp;gt;DefineBinaryProperty(&amp;quot;Bitmap.Data&amp;quot;, ReadBitmap, NULL, false);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Now when I open the form that contains the &lt;code&gt;MyControl1&lt;/code&gt; control, I see this error message:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Error creating form: Error reading MyControl1.Glyph.Bitmap.Data:&#xA;Property does not exist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I reverted my &lt;code&gt;TGlyph&lt;/code&gt; class to the way it was before and could open the form without any problems; the bitmap data is still there.&lt;/p&gt;&#xA;&lt;p&gt;How do I fix this?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79758507</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">How to resolve missing static library error for AsyncPro in RAD Studio 12 (C&#x2B;&#x2B;Builder project)?</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="rad-studio" />
        <author>
            <name>Bilal Qureshi</name>
            <uri>https://stackoverflow.com/users/31441988</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79758507/how-to-resolve-missing-static-library-error-for-asyncpro-in-rad-studio-12-cbu" />
        <published>2025-09-08T04:47:30Z</published>
        <updated>2025-09-08T07:31:47Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;m trying to build an C&#x2B;&#x2B;Builder project in RAD Studio 12 for serial communication.&lt;/p&gt;&#xA;&lt;p&gt;After opening the project in RAD Studio 12, the build fails with errors related to missing static library files.&lt;/p&gt;&#xA;&lt;p&gt;I have:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Downloaded the AsyncPro source code from TurboPack/AsyncPro on GitHub&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Opened the AsyncProCD and AsyncProCR project and built the runtime and design-time packages successfully&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Verified that the .bpl files were generated&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Added the output directories to the Library Path.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;My project still fails to link, asking for .lib files&lt;/p&gt;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;How do I correctly generate or locate the .lib files required by my C&#x2B;&#x2B;Builder project?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any additional steps needed to make AsyncPro fully compatible with C&#x2B;&#x2B; projects in RAD Studio 12?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Any guidance would be appreciated. Thanks!&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79753205</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">Not valid Win32 application on XP</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="windows-xp" />
        <author>
            <name>Andrew Emsley</name>
            <uri>https://stackoverflow.com/users/31401747</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79753205/not-valid-win32-application-on-xp" />
        <published>2025-09-02T07:29:13Z</published>
        <updated>2025-09-02T18:05:11Z</updated>
        <summary type="html">
            &lt;p&gt;I&#x27;m using Embarcadero C&#x2B;&#x2B;Builder 12 Version 29.0.53982.0329 to build a 32-bit app.  It runs fine on Windows 7 32-bit, and on Windows 10 and 11. But, when I try to run it on XP, I get the message:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;lt;path&amp;gt; is not a valid Win32 application&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Should I be able to run an app developed with this version of C&#x2B;&#x2B;Builder on XP?&lt;/p&gt;&#xA;&lt;p&gt;Is it that some DLL or BPL files are missing?&lt;/p&gt;&#xA;&lt;p&gt;It worked fine when built with a previous version of C&#x2B;&#x2B;Builder.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79734710</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">How to use character arrays with Win32 APIs in C&#x2B;&#x2B; Builder 12</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="ascii" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="character-set" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-12-athens" />
        <author>
            <name>Jeff McKay</name>
            <uri>https://stackoverflow.com/users/16754644</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79734710/how-to-use-character-arrays-with-win32-apis-in-c-builder-12" />
        <published>2025-08-13T20:18:42Z</published>
        <updated>2025-08-22T18:16:59Z</updated>
        <summary type="html">
            &lt;p&gt;I am experimenting with C&#x2B;&#x2B;Builder 12, trying to port some old code from C&#x2B;&#x2B;Builder 2009.&lt;/p&gt;&#xA;&lt;p&gt;In that old code, all character strings are defined, for example, like this:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;char testString[256]=&amp;quot;This is a test&amp;quot;;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;If I try to use this string in &lt;code&gt;MessageBox()&lt;/code&gt;, for example, I get an error:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;no matching function for call to MessageBoxW&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I can get it to work like this:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;MessageBox(NULL, L&amp;quot;This is a test&amp;quot;, L&amp;quot;Test&amp;quot;, 0);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;I&#x27;m pretty sure I can get my old code compiled by using some compiler option, but I can&#x27;t figure it out.  In Visual C&#x2B;&#x2B;, I would fix this by setting the &amp;quot;Character Set&amp;quot; option to &amp;quot;Not Set&amp;quot; instead of &amp;quot;Use Unicode&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;Can someone help me out with this?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79734089</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">Problem with TVirtualTreeView EditLink assignment in C&#x2B;&#x2B;Builder</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="vcl" />
            <category scheme="https://stackoverflow.com/tags" term="virtualtreeview" />
        <author>
            <name>&#x141;ukasz Walu&#x15B;</name>
            <uri>https://stackoverflow.com/users/31265352</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79734089/problem-with-tvirtualtreeview-editlink-assignment-in-cbuilder" />
        <published>2025-08-13T09:03:24Z</published>
        <updated>2025-08-13T22:12:22Z</updated>
        <summary type="html">
            &lt;p&gt;I have a problem with assigning an &lt;code&gt;EditLink&lt;/code&gt; to &lt;code&gt;TVirtualStringTree&lt;/code&gt; in Embarcadero C&#x2B;&#x2B;Builder. When I try to assign a new editor class, only the default editor is working.&lt;/p&gt;&#xA;&lt;p&gt;Only the constructor is called in the &lt;code&gt;OnCreateEditor&lt;/code&gt; event. After the editor is created and assigned to &lt;code&gt;EditLink&lt;/code&gt;, actually my custom editor is not called any more, or even deleted. Only the built-in editor is working.&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;class TFormMain : public TForm, public EcuCommListenerItem&#xA;{&#xA;__published:    // IDE-managed Components&#xA;    TVirtualStringTree *VST;&#xA;&#xA;    void __fastcall VSTCreateEditor(TBaseVirtualTree *Sender, PVirtualNode Node,&#xA;          TColumnIndex Column, IVTEditLink *EditLink);&#xA;&#xA;private:    // User declarations&#xA;&#xA;&#xA;public:     // User declarations&#xA;    __fastcall TFormMain(TComponent* Owner);&#xA;};&#xA;&#xA;&#xA;typedef struct {&#xA;    unsigned Id;&#xA;    String Caption;&#xA;}MyRecord;&#xA;&#xA;&#xA;//---------------------------------------------------------------------------&#xA;__fastcall TFormMain::TFormMain(TComponent* Owner)&#xA;    : TForm(Owner),&#xA;{&#xA;    VST-&amp;gt;NodeDataSize = sizeof(MyRecord);&#xA;    VST-&amp;gt;RootNodeCount = 3;&#xA;}&#xA;&#xA;&#xA;class TPropertyEditor : public TInterfacedObject, public IVTEditLink&#xA;{&#xA;private:&#xA;    TWinControl* m_Edit;&#xA;    TVirtualStringTree* m_Tree;&#xA;    PVirtualNode m_Node;&#xA;    int m_Column;&#xA;&#xA;public:&#xA;    __fastcall TPropertyEditor() //:&#xA;        IVTEditLink(),&#xA;        TInterfacedObject()&#xA;    {&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;        m_Edit = nullptr;&#xA;        m_Tree = nullptr;&#xA;        m_Node = nullptr;&#xA;        m_Column = 0;&#xA;    }&#xA;&#xA;    __fastcall ~TPropertyEditor() {&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;        delete m_Edit;&#xA;    }&#xA;&#xA;    HRESULT __stdcall QueryInterface(const GUID&amp;amp; IID, void **Obj) override {&#xA;        return GetInterface(IID, Obj) ? S_OK : E_NOINTERFACE;&#xA;    }&#xA;&#xA;    ULONG __stdcall AddRef() override  {&#xA;        return TInterfacedObject::_AddRef();&#xA;    }&#xA;    ULONG __stdcall Release() override {&#xA;        return TInterfacedObject::_Release();&#xA;    }&#xA;&#xA;    bool __stdcall BeginEdit() override {&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;        m_Edit-&amp;gt;Show();&#xA;        static_cast&amp;lt;TComboBox*&amp;gt;(m_Edit)-&amp;gt;DroppedDown = true;&#xA;        m_Edit-&amp;gt;SetFocus();&#xA;&#xA;        return true;&#xA;    }&#xA;&#xA;    bool __stdcall CancelEdit() override {&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;        m_Edit-&amp;gt;Hide();&#xA;&#xA;        return true;&#xA;    }&#xA;&#xA;    bool __stdcall EndEdit() override {&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;&#xA;        m_Edit-&amp;gt;Hide();&#xA;        m_Tree-&amp;gt;SetFocus();&#xA;&#xA;        return true;&#xA;    }&#xA;&#xA;    bool __stdcall PrepareEdit(TBaseVirtualTree* Tree, PVirtualNode Node, Virtualtrees::Types::TColumnIndex Column) override {&#xA;&#xA;        DEBUG_FUNC(&amp;quot;PrepareEdit\n&amp;quot;);&#xA;&#xA;        m_Tree = reinterpret_cast&amp;lt;TVirtualStringTree*&amp;gt;(Tree);&#xA;        m_Node = Node;&#xA;        m_Column = Column;&#xA;&#xA;        delete m_Edit;&#xA;        m_Edit = nullptr;&#xA;&#xA;        m_Edit = new TComboBox( Tree );&#xA;        m_Edit-&amp;gt;Parent = Tree;&#xA;        m_Edit-&amp;gt;Visible = false;&#xA;        static_cast&amp;lt;TComboBox*&amp;gt;(m_Edit)-&amp;gt;Items-&amp;gt;Add(L&amp;quot;Option 1&amp;quot;);&#xA;        static_cast&amp;lt;TComboBox*&amp;gt;(m_Edit)-&amp;gt;Items-&amp;gt;Add(L&amp;quot;Option 2&amp;quot;);&#xA;        static_cast&amp;lt;TComboBox*&amp;gt;(m_Edit)-&amp;gt;Items-&amp;gt;Add(L&amp;quot;Option 3&amp;quot;);&#xA;&#xA;        return true;&#xA;    }&#xA;&#xA;    void __stdcall ProcessMessage(Winapi::Messages::TMessage &amp;amp;Message) override {&#xA;        m_Edit-&amp;gt;WindowProc(Message);&#xA;    }&#xA;&#xA;    void __stdcall SetBounds(const System::Types::TRect &amp;amp;R) override {&#xA;        //FTree.Header.Columns.GetColumnBounds(FColumn, Dummy, R.Right);&#xA;        DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;        m_Edit-&amp;gt;BoundsRect = R;&#xA;    }&#xA;&#xA;};&#xA;&#xA;&#xA;void __fastcall TFormMain::VSTCreateEditor(TBaseVirtualTree *Sender, PVirtualNode Node,&#xA;          TColumnIndex Column, IVTEditLink *EditLink)&#xA;{&#xA;    EditLink = new TPropertyEditor();&#xA;&#xA;    DEBUG_FUNC(&amp;quot;\n&amp;quot;);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;I found the &lt;code&gt;TVirtualTreeView::OnCreateEditorEvent&lt;/code&gt; prototype and it is different than what is created by the IDE:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;__interface DELPHIINTERFACE IVTEditLink;&#xA;typedef System::DelphiInterface&amp;lt;IVTEditLink&amp;gt; _di_IVTEditLink;&#xA;&#xA;&#xA;typedef void __fastcall (__closure *TVTCreateEditorEvent)(TBaseVirtualTree* Sender, PVirtualNode Node, Virtualtrees::Types::TColumnIndex Column, /* out */ _di_IVTEditLink &amp;amp;EditLink);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;How to use it properly?&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79699464</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">New 64-bit dev (Old 32-bit dev) : Why is my 64-bit executable so huge?</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="ide" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="32bit-64bit" />
        <author>
            <name>Terry</name>
            <uri>https://stackoverflow.com/users/30591102</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79699464/new-64-bit-dev-old-32-bit-dev-why-is-my-64-bit-executable-so-huge" />
        <published>2025-07-12T17:36:48Z</published>
        <updated>2025-07-24T06:54:37Z</updated>
        <summary type="html">
            &lt;p&gt;I have been developing in C&#x2B;&#x2B;Builder since v3. Most of my work was done in v5 and v6.  I am just now getting back into it after a few years away, trying out the Community Edition and the 64-bit world.&lt;/p&gt;&#xA;&lt;p&gt;I have ported a small utility as a first project in the new environment.  It uses only standard Windows controls (&lt;code&gt;TEdit&lt;/code&gt;, &lt;code&gt;TButton&lt;/code&gt;, &lt;code&gt;TCheckBox&lt;/code&gt;, etc) and a single &lt;code&gt;TClientSocket&lt;/code&gt;.  It&#x27;s less than 400 lines of code for a single Windows form.&lt;/p&gt;&#xA;&lt;p&gt;When I compile successfully, the executable is over 17 MB (!!)  Why?  What can I do to reduce it?  That seems absurdly large to me, for what it is.&lt;/p&gt;&#xA;&lt;p&gt;I tried using the current version of C&#x2B;&#x2B;Builder the way I have always used it in the past, configured to produce a single, self-contained executable (no RTL, etc).  The executable compiles to 540 KB in v6.  I was not expecting over 17 MB for the same code in the current version.&lt;/p&gt;&#xA;&lt;p&gt;formMain.h&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#ifndef formMainH&#xA;#define formMainH&#xA;//---------------------------------------------------------------------------&#xA;#include &amp;lt;System.Classes.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.Controls.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.StdCtrls.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.Forms.hpp&amp;gt;&#xA;#include &amp;lt;Registry.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.Buttons.hpp&amp;gt;&#xA;#include &amp;lt;System.Win.ScktComp.hpp&amp;gt;&#xA;//---------------------------------------------------------------------------&#xA;class TfMain : public TForm&#xA;{&#xA;__published:    // IDE-managed Components&#xA;    TEdit *eScan;&#xA;    TComboBox *cbPrinter;&#xA;    TSpeedButton *bClear;&#xA;    TLabel *lDecoded;&#xA;    TCheckBox *ckAutoPrint;&#xA;    TBitBtn *bPrint;&#xA;    TBitBtn *bClose;&#xA;    TLabel *lScan;&#xA;    TLabel *lDecode;&#xA;    TLabel *lPrinter;&#xA;    TLabel *lPrinterIPAddress;&#xA;    TClientSocket *Sock;&#xA;    void __fastcall bCloseClick(TObject *Sender);&#xA;    void __fastcall FormShow(TObject *Sender);&#xA;    void __fastcall cbPrinterSelect(TObject *Sender);&#xA;    void __fastcall eScanChange(TObject *Sender);&#xA;    void __fastcall bPrintClick(TObject *Sender);&#xA;    void __fastcall SockConnect(TObject *Sender, TCustomWinSocket *Socket);&#xA;    void __fastcall SockDisconnect(TObject *Sender, TCustomWinSocket *Socket);&#xA;    void __fastcall eScanKeyPress(TObject *Sender, System::WideChar &amp;amp;Key);&#xA;    void __fastcall bClearClick(TObject *Sender);&#xA;    void __fastcall SockError(TObject *Sender, TCustomWinSocket *Socket, TErrorEvent ErrorEvent, int &amp;amp;ErrorCode);&#xA;    void __fastcall FormClose(TObject *Sender, TCloseAction &amp;amp;Action);&#xA;&#xA;private:    // User declarations&#xA;    TStringList *printerNames;&#xA;    TStringList *printerIPAddresses;&#xA;    AnsiString selectedIPAddress;&#xA;    AnsiString defaultPrinter;&#xA;    int __fastcall isCPSBarcode(AnsiString Str);&#xA;    int __fastcall isIPAddress(AnsiString Str);&#xA;public:     // User declarations&#xA;    __fastcall TfMain(TComponent* Owner);&#xA;};&#xA;//---------------------------------------------------------------------------&#xA;extern PACKAGE TfMain *fMain;&#xA;//---------------------------------------------------------------------------&#xA;#endif&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;formMain.cpp&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#include &amp;lt;vcl.h&amp;gt;&#xA;#pragma hdrstop&#xA;&#xA;#include &amp;quot;formMain.h&amp;quot;&#xA;//---------------------------------------------------------------------------&#xA;#pragma package(smart_init)&#xA;#pragma resource &amp;quot;*.dfm&amp;quot;&#xA;TfMain *fMain;&#xA;//---------------------------------------------------------------------------&#xA;__fastcall TfMain::TfMain(TComponent* Owner) : TForm(Owner)&#xA;{&#xA;    printerNames = new TStringList;&#xA;   printerIPAddresses = new TStringList;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfMain::FormShow(TObject *Sender)&#xA;{&#xA;    AnsiString thisPort(&amp;quot;&amp;quot;);&#xA;    AnsiString defaultPrinter(&amp;quot;&amp;quot;);&#xA;    int defaultPrinterIdx = -1;&#xA;    TRegistry *Reg = new TRegistry;&#xA;&#xA;    // Get network printer names and IP addresses from Windows registry&#xA;&#xA;    // Locally connected printers are skipped since we will be using a TCP&#xA;    // socket to communicate with the printer&#xA;&#xA;    Reg-&amp;gt;RootKey = HKEY_LOCAL_MACHINE;&#xA;    if(Reg-&amp;gt;OpenKeyReadOnly(&amp;quot;\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers&amp;quot;)){&#xA;        Reg-&amp;gt;GetKeyNames(printerNames);&#xA;        Reg-&amp;gt;CloseKey();&#xA;        for(int i = 0; i &amp;lt; printerNames-&amp;gt;Count; i&#x2B;&#x2B;){&#xA;            if(Reg-&amp;gt;OpenKeyReadOnly(&#xA;                    &amp;quot;\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Print\\Printers\\&amp;quot;&#xA;                    &#x2B; printerNames-&amp;gt;Strings[i])){&#xA;                thisPort = Reg-&amp;gt;ReadString(&amp;quot;Port&amp;quot;);&#xA;                if(isIPAddress(thisPort)){&#xA;                    cbPrinter-&amp;gt;Items-&amp;gt;Add(printerNames-&amp;gt;Strings[i]);&#xA;                    printerIPAddresses-&amp;gt;Add(thisPort);&#xA;                }&#xA;                Reg-&amp;gt;CloseKey();&#xA;            }&#xA;        }&#xA;    }&#xA;    else{&#xA;        if(Application-&amp;gt;MessageBox(L&amp;quot;Unable to open registry!&amp;quot;,L&amp;quot;Error&amp;quot;,MB_OK))&#xA;            Close();&#xA;    }&#xA;&#xA;    delete Reg;&#xA;&#xA;    // Get default printer from last run&#xA;&#xA;    Reg = new TRegistry;&#xA;&#xA;    if(Reg-&amp;gt;OpenKey(&amp;quot;\\SOFTWARE\\TCC\\BinLabelShrink&amp;quot;, true)){&#xA;        if(Reg-&amp;gt;ValueExists(&amp;quot;DefaultPrinter&amp;quot;))&#xA;            defaultPrinter = Reg-&amp;gt;ReadString(&amp;quot;DefaultPrinter&amp;quot;);&#xA;&#xA;        if(Reg-&amp;gt;ValueExists(&amp;quot;AutoPrint&amp;quot;))&#xA;            ckAutoPrint-&amp;gt;Checked = Reg-&amp;gt;ReadBool(&amp;quot;AutoPrint&amp;quot;);&#xA;&#xA;        if(defaultPrinter.Length())&#xA;            for(int i = 0; i &amp;lt; cbPrinter-&amp;gt;Items-&amp;gt;Count; i&#x2B;&#x2B;)&#xA;                if(cbPrinter-&amp;gt;Items-&amp;gt;Strings[i] == defaultPrinter)&#xA;                    defaultPrinterIdx = i;&#xA;&#xA;        if(defaultPrinterIdx &amp;gt; -1){&#xA;            cbPrinter-&amp;gt;ItemIndex = defaultPrinterIdx;&#xA;            cbPrinterSelect(cbPrinter);&#xA;        }&#xA;        else if(Reg-&amp;gt;ValueExists(&amp;quot;DefaultPrinter&amp;quot;))  // The defaultPrinter wasn&#x27;t found, so clear it&#xA;            Reg-&amp;gt;WriteString(&amp;quot;DefaultPrinter&amp;quot;,&amp;quot;&amp;quot;);&#xA;&#xA;        Reg-&amp;gt;CloseKey();&#xA;    }&#xA;&#xA;    delete Reg;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfMain::bCloseClick(TObject *Sender)&#xA;{&#xA;     Close();&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfMain::cbPrinterSelect(TObject *Sender)&#xA;{&#xA;    selectedIPAddress = printerIPAddresses-&amp;gt;Strings[((TCustomCombo*)Sender)-&amp;gt;ItemIndex];&#xA;    lPrinterIPAddress-&amp;gt;Caption = selectedIPAddress;&#xA;&#xA;    if(isCPSBarcode(eScan-&amp;gt;Text))&#xA;        bPrint-&amp;gt;Enabled = true;&#xA;&#xA;    eScan-&amp;gt;SetFocus();&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfMain::eScanChange(TObject *Sender)&#xA;{&#xA;    int strLen;&#xA;    int semiColonIdx;&#xA;    int dashIdx;&#xA;    AnsiString fullStr;&#xA;&#xA;&#xA;    // Sample scan string &amp;quot;A:19:18:1;0-12680bB&amp;quot;&#xA;&#xA;    Sleep(100);&#xA;&#xA;    if(eScan-&amp;gt;Text[eScan-&amp;gt;Text.Length()] == &#x27; &#x27;){&#xA;        eScan-&amp;gt;Text = eScan-&amp;gt;Text.TrimRight();&#xA;        eScan-&amp;gt;SelStart = eScan-&amp;gt;Text.Length();&#xA;        eScan-&amp;gt;SelLength = 0;&#xA;    }&#xA;&#xA;    if(isCPSBarcode(eScan-&amp;gt;Text)){&#xA;&#xA;        eScan-&amp;gt;Font-&amp;gt;Style = TFontStyles() &amp;lt;&amp;lt; fsBold; // Once it&#x27;s good, go bold&#xA;&#xA;        // Display the decoded bin spec&#xA;        semiColonIdx = eScan-&amp;gt;Text.Pos(&amp;quot;;&amp;quot;);&#xA;        lDecoded-&amp;gt;Caption = eScan-&amp;gt;Text.SubString(1,semiColonIdx - 1) &#x2B; &amp;quot;:&amp;quot; &#x2B;&#xA;                eScan-&amp;gt;Text.SubString(eScan-&amp;gt;Text.Length(),1);&#xA;&#xA;        // If a printer is selected, we&#x27;re ready to print&#xA;        if(cbPrinter-&amp;gt;ItemIndex &amp;gt; -1){&#xA;            bPrint-&amp;gt;Enabled = true;&#xA;&#xA;            if(ckAutoPrint-&amp;gt;Checked)    // Fire off print if we&#x27;re on auto&#xA;                bPrintClick(this);&#xA;        }&#xA;    }&#xA;    else{&#xA;        if(eScan-&amp;gt;Text.Length()){&#xA;            eScan-&amp;gt;Color = clWindow;&#xA;            eScan-&amp;gt;Font-&amp;gt;Color = clWindowText;&#xA;            eScan-&amp;gt;Font-&amp;gt;Style = TFontStyles();&#xA;            if(eScan-&amp;gt;Text.Pos(&amp;quot;&amp;lt;select&amp;quot;)){  // Clear out eScan to receive text&#xA;                eScan-&amp;gt;Text = &amp;quot;&amp;quot;;&#xA;            }&#xA;        }&#xA;&#xA;        // Disable print until good scan string has been entered/received&#xA;        bPrint-&amp;gt;Enabled = false;&#xA;    }&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::eScanKeyPress(TObject *Sender, System::WideChar &amp;amp;Key)&#xA;{&#xA;    if(isCPSBarcode(eScan-&amp;gt;Text))&#xA;        bClearClick(this);&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::bClearClick(TObject *Sender)&#xA;{&#xA;    eScan-&amp;gt;Color = clAqua;&#xA;    eScan-&amp;gt;Font-&amp;gt;Color = clGrayText;&#xA;    eScan-&amp;gt;Font-&amp;gt;Style = TFontStyles();&#xA;    eScan-&amp;gt;Text = &amp;quot;&amp;lt;select before scanning&amp;gt;&amp;quot;;&#xA;    lDecoded-&amp;gt;Caption = &amp;quot;&amp;quot;;&#xA;    bPrint-&amp;gt;Enabled = false;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;int __fastcall TfMain::isCPSBarcode(AnsiString Str)&#xA;{&#xA;    int colonCount = 0;&#xA;    int semiColonCount = 0;&#xA;    int dashCount = 0;&#xA;    int lastColonIdx = 0;&#xA;    int s;&#xA;    AnsiString tmpStr;&#xA;&#xA;    s = Str.Length();&#xA;&#xA;    if(s &amp;gt;= 17 &amp;amp;&amp;amp; isupper(Str[s])){     // Check for min length and upper case end&#xA;        TStringList *tok = new TStringList;&#xA;&#xA;        // Parse string and count delimiters&#xA;&#xA;        for(int i = 1; i &amp;lt;= s; i&#x2B;&#x2B;){&#xA;            switch(Str[i]){&#xA;                case &#x27;:&#x27;:&#xA;                    colonCount&#x2B;&#x2B;;&#xA;&#xA;                    if(colonCount == 1) // First token has no leading colon&#xA;                        tok-&amp;gt;Add(Str.SubString(1,1));&#xA;                    else&#xA;                        tok-&amp;gt;Add(Str.SubString(lastColonIdx &#x2B; 1, i - lastColonIdx - 1));&#xA;&#xA;                    lastColonIdx = i;&#xA;                    break;&#xA;                case &#x27;;&#x27;:&#xA;                    semiColonCount&#x2B;&#x2B;;&#xA;                    tok-&amp;gt;Add(Str.SubString(lastColonIdx &#x2B; 1, i - lastColonIdx - 1));&#xA;                    break;&#xA;                case &#x27;-&#x27;:&#xA;                    dashCount&#x2B;&#x2B;;&#xA;                default:    break;&#xA;            }&#xA;        }&#xA;&#xA;        // Now test the format&#xA;&#xA;        if(colonCount == 3 &amp;amp;&amp;amp; semiColonCount == 1 &amp;amp;&amp;amp; dashCount == 1){&#xA;            if(isalpha(Str[s-1]) &amp;amp;&amp;amp; isalpha(Str[s])){       // Last 2 chars are letters&#xA;                try{    // ToInt() failure will throw an exception&#xA;                    tmpStr = tok-&amp;gt;Strings[0];&#xA;                    if(isalpha(tmpStr[1]) &amp;amp;&amp;amp;                    // First token is a letter&#xA;                            tok-&amp;gt;Strings[1].ToInt() &amp;gt; 0 &amp;amp;&amp;amp;  // 2nd token is a positive number&#xA;                            tok-&amp;gt;Strings[2].ToInt() &amp;gt; 0 &amp;amp;&amp;amp;  // 3rd token is a positive number&#xA;                            tok-&amp;gt;Strings[3].ToInt() &amp;gt; 0){   // 4th token is a positive number&#xA;&#xA;                        delete tok;&#xA;                        return true;  // Seems legit&#xA;                    }&#xA;                }&#xA;                catch(...){&#xA;                    delete tok;&#xA;                    return false;&#xA;                }&#xA;            }&#xA;        }&#xA;        else{&#xA;            delete tok;&#xA;            return false;&#xA;        }&#xA;    }&#xA;    else&#xA;        return false;&#xA;&#xA;    return false;   // Keep compiler from complaining&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;int __fastcall TfMain::isIPAddress(AnsiString Str)&#xA;{&#xA;    int dotCount = 0;&#xA;    int prevDotIdx = 0;&#xA;    int thisOctet = 0;&#xA;    int s;&#xA;&#xA;    s = Str.Length();&#xA;&#xA;    if(s &amp;lt; 7 || 15 &amp;lt; s)     // Check for valid length&#xA;        return false;&#xA;&#xA;    try{        // ToInt() function throws an exception if str to int conversion fails&#xA;        for(int i = 1; i &amp;lt;= s; &#x2B;&#x2B;i){&#xA;            if(Str[i] == &#x27;.&#x27;){&#xA;                &#x2B;&#x2B;dotCount;&#xA;&#xA;                if(!prevDotIdx){    // This is the first dot. Octet begins at start of Str&#xA;                    thisOctet = Str.SubString(1, i-1).ToInt();&#xA;                    prevDotIdx = i;&#xA;                }&#xA;                else{                   // Octets begins and ends with a dot&#xA;                    thisOctet = Str.SubString(prevDotIdx &#x2B; 1, i - prevDotIdx - 1).ToInt();&#xA;                    prevDotIdx = i;&#xA;                }&#xA;            }&#xA;            else if(i == s){ // Last octet with no dot at the end&#xA;                thisOctet = Str.SubString(prevDotIdx &#x2B; 1, i - prevDotIdx).ToInt();&#xA;            }&#xA;            if(thisOctet &amp;lt; 0 || 255 &amp;lt; thisOctet)&#xA;                return false;&#xA;        }&#xA;        if(dotCount == 3)   // If all octets are ints and are in range, finally check dot count&#xA;            return true;&#xA;    }&#xA;    catch(...){   // Conversion of a token to int failed&#xA;        return false;&#xA;    }&#xA;&#xA;    return false;   // Keep compiler from complaining&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::bPrintClick(TObject *Sender)&#xA;{&#xA;    this-&amp;gt;Cursor = crHourGlass;&#xA;    cbPrinter-&amp;gt;Cursor = crHourGlass;&#xA;    for(int i = 0; i &amp;lt; this-&amp;gt;ControlCount; i&#x2B;&#x2B;)&#xA;        this-&amp;gt;Controls[i]-&amp;gt;Cursor = crHourGlass;&#xA;&#xA;    eScan-&amp;gt;SetFocus();&#xA;&#xA;    if(!selectedIPAddress.IsEmpty()){&#xA;        Sock-&amp;gt;Address = selectedIPAddress;&#xA;        Sock-&amp;gt;Open();&#xA;    }&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::SockConnect(TObject *Sender, TCustomWinSocket *Socket)&#xA;{&#xA;    AnsiString S1, S2, printStr;&#xA;    int colonIdx[3];&#xA;    int colonCount = 0;&#xA;&#xA;    // Sample scan string &amp;quot;A:19:18:1;0-12680bB&amp;quot;&#xA;    //&#xA;    // Parse scan string to embed in ZPL code&#xA;&#xA;    for(int i = 1; i &amp;lt; eScan-&amp;gt;Text.Length(); i&#x2B;&#x2B;){&#xA;        if(eScan-&amp;gt;Text[i] == &#x27;:&#x27;)&#xA;            colonIdx[colonCount&#x2B;&#x2B;] = i;&#xA;    }&#xA;&#xA;    S1 = eScan-&amp;gt;Text.SubString(1, colonIdx[2] - 1);&#xA;    S2 = eScan-&amp;gt;Text.SubString(colonIdx[2] &#x2B; 1, 1) &#x2B; &amp;quot;:&amp;quot; &#x2B;&#xA;            eScan-&amp;gt;Text.SubString(eScan-&amp;gt;Text.Length(),1);&#xA;&#xA;    // Send the ZPL code to print the label&#xA;    //&#xA;    // ^FX lines in ZPL are comments&#xA;&#xA;    printStr = &amp;quot;^XA&amp;quot;&#xA;            &amp;quot;^FO 80,80 ^A0,200 ^FD&amp;quot; &#x2B; S1 &#x2B; &amp;quot;^FS\r\n&amp;quot;;   // Top text line: Section:Aisle:Rack&#xA;&#xA;    if(S2[1] == &#x27;1&#x27;){           // Down arrow&#xA;        printStr &#x2B;= &amp;quot;^FO 100,330 ^GB0,190,15^FS&amp;quot;&#xA;                &amp;quot;^FO 60,440 ^GD40,100,15,B,L^FS&amp;quot;&#xA;                &amp;quot;^FO 100,440 ^GD40,100,15,B,R^FS\r\n&amp;quot;;&#xA;    }&#xA;    else if(S2[1] == &#x27;2&#x27;){  // Up arrow&#xA;        printStr &#x2B;= &amp;quot;^FO 100,330 ^GB0,190,15^FS&amp;quot;&#xA;                &amp;quot;^FO 60,330 ^GD40,100,15,B,R^FS&amp;quot;&#xA;                &amp;quot;^FO 100,330 ^GD40,100,15,B,L^FS\r\n&amp;quot;;&#xA;    }&#xA;&#xA;    printStr &#x2B;= &amp;quot;^FO 180,360 ^A0,220 ^FD&amp;quot; &#x2B; S2 &#x2B; &amp;quot;^FS&amp;quot;      // Bottom text: Shelf:Bin&#xA;            &amp;quot;^FO 520,320 ^BXN,13,200 ^FD&amp;quot; &#x2B; eScan-&amp;gt;Text &#x2B; &amp;quot;^FS&amp;quot; // 2D barcode&#xA;            &amp;quot;^XZ\r\n&amp;quot;;&#xA;&#xA;    Socket-&amp;gt;SendText(printStr);&#xA;    Sleep(250); // Non-blocking connection, so give it a chance to finish before closing&#xA;    Socket-&amp;gt;Close();&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::SockDisconnect(TObject *Sender, TCustomWinSocket *Socket)&#xA;{&#xA;    this-&amp;gt;Cursor = crDefault;&#xA;    cbPrinter-&amp;gt;Cursor = crDefault;&#xA;    for(int i = 0; i &amp;lt; this-&amp;gt;ControlCount; i&#x2B;&#x2B;)&#xA;        this-&amp;gt;Controls[i]-&amp;gt;Cursor = crDefault;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::SockError(TObject *Sender, TCustomWinSocket *Socket,&#xA;        TErrorEvent ErrorEvent, int &amp;amp;ErrorCode)&#xA;&#xA;{&#xA;    AnsiString errorMsg;&#xA;&#xA;    this-&amp;gt;Cursor = crDefault;&#xA;    cbPrinter-&amp;gt;Cursor = crDefault;&#xA;    for(int i = 0; i &amp;lt; this-&amp;gt;ControlCount; i&#x2B;&#x2B;)&#xA;        this-&amp;gt;Controls[i]-&amp;gt;Cursor = crDefault;&#xA;&#xA;    errorMsg = L&amp;quot;Error printing to &amp;quot; &#x2B; cbPrinter-&amp;gt;Text &#x2B; L&amp;quot; at &amp;quot; &#x2B; Sock-&amp;gt;Address;&#xA;&#xA;    Application-&amp;gt;MessageBox(WideString(errorMsg).c_bstr(), L&amp;quot;Printing Error&amp;quot;, MB_OK);&#xA;&#xA;    ErrorCode = 0;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfMain::FormClose(TObject *Sender, TCloseAction &amp;amp;Action)&#xA;{&#xA;    TRegistry *Reg = new TRegistry;&#xA;&#xA;    // Write out the current control values as defaults for the next run&#xA;&#xA;    Reg-&amp;gt;RootKey = HKEY_CURRENT_USER;&#xA;    if(Reg-&amp;gt;OpenKey(&amp;quot;\\SOFTWARE\\TCC\\BinLabelShrink&amp;quot;, true)){&#xA;        if(cbPrinter-&amp;gt;ItemIndex &amp;gt; -1)&#xA;            Reg-&amp;gt;WriteString(&amp;quot;DefaultPrinter&amp;quot;, cbPrinter-&amp;gt;Text);&#xA;&#xA;        Reg-&amp;gt;WriteBool(&amp;quot;AutoPrint&amp;quot;, ckAutoPrint-&amp;gt;Checked);&#xA;&#xA;        Reg-&amp;gt;CloseKey();&#xA;    }&#xA;&#xA;    delete Reg;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;pre&gt;&lt;code&gt;Relevant Project settings:&#xA;&#xA;Release configuration - Windows 64-bit (Modern) platform&#xA;&#xA;C&#x2B;&#x2B; Compiler --&amp;gt; Debugging --&amp;gt; Debug information: false&#xA;&#xA;... --&amp;gt; Optimizations --&amp;gt; Generate smallest possible code (-O1): true&#xA;&#xA;C&#x2B;&#x2B; Linker --&amp;gt; Full debug information: false&#xA;&#xA;... --&amp;gt; Link with Dynamic RTL: false&#xA;&#xA;... --&amp;gt; Link with Delphi Runtime Library: false&#xA;&#xA;Packages --&amp;gt; Design packages (Causes IDE to crash if I disable too many)&#xA;&#xA;... --&amp;gt; Runtime Packages --&amp;gt; Runtime package import libraries --&amp;gt; Inherit: false&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79693132</id>
        <re:rank scheme="https://stackoverflow.com">1</re:rank>
        <title type="text">C&#x2B;&#x2B;Builder with BluetoothLE dongle using Windows 11</title>
            <category scheme="https://stackoverflow.com/tags" term="cmake" />
            <category scheme="https://stackoverflow.com/tags" term="bluetooth-lowenergy" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="windows-11" />
        <author>
            <name>egginstone</name>
            <uri>https://stackoverflow.com/users/5903002</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79693132/cbuilder-with-bluetoothle-dongle-using-windows-11" />
        <published>2025-07-07T16:13:55Z</published>
        <updated>2025-07-07T18:03:08Z</updated>
        <summary type="html">
            &lt;p&gt;How can I get a PC to operate BluetoothLE using C&#x2B;&#x2B;Builder on Windows 11 and a Bluetooth 5.3 UB500 dongle?&lt;/p&gt;&#xA;&lt;p&gt;I have installed CMake 4.0.3. I have downloaded SimpleBLE from GitHub. In a Command Prompt, I make a directory called &lt;code&gt;build&lt;/code&gt; in the root of SimpleBLE, and go to that build directory. The system environment path includes the &lt;code&gt;bin&lt;/code&gt; subdirectory containing &lt;code&gt;cmake-gui.exe&lt;/code&gt;; and the root directory of SimpleBLE.&lt;/p&gt;&#xA;&lt;p&gt;In the Command Prompt I do:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;cmake .. -DBUILD_SHARED_LIBS=OFF -DSIMPLEBLE_ENABLE_BACKEND_WINRT=ON -DCMAKE_BUILD_TYPE=Release&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The response is:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;CMake Warning:  Ignoring extra path from command line:   &amp;quot;..&amp;quot;&#xA;CMake Error: The source directory &amp;quot;C:/SimpleBLE&amp;quot; does not appear to contain CMakeLists.txt.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;There is no &lt;code&gt;CMakeLists.txt&lt;/code&gt; file in the directory, though there are several different ones in subdirectories. I tried removing and reinstalling CMake and SimpleBLE, with the same result. I tried going up a directory to the root of SimpleBLE, or removing the &lt;code&gt;..&lt;/code&gt; from the command, or both, but with the same result.&lt;/p&gt;&#xA;&lt;p&gt;I tried copying a &lt;code&gt;CMakeLists.txt&lt;/code&gt; file from a subdirectory into the SimpleBLE root directory, but this gave several error messages containing &lt;code&gt;could not find requested file&lt;/code&gt;, &lt;code&gt;no such file or directory&lt;/code&gt;, &lt;code&gt;not set&lt;/code&gt;, etc. I tried running the instruction from a subdirectory of SimpleBLE (which contains a &lt;code&gt;CMakeLists.txt&lt;/code&gt;), but with the same result.&lt;/p&gt;&#xA;&lt;p&gt;Any help would be appreciated please, the simpler the better. A different driver or a different dongle would be OK if it is easier, though I prefer to stay with C&#x2B;&#x2B;Builder.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79691238</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">C&#x2B;&#x2B;Builder - linker errors trying to use __throwFileName and __throwLineNumber</title>
            <category scheme="https://stackoverflow.com/tags" term="exception" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>user6604390</name>
            <uri>https://stackoverflow.com/users/6604390</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79691238/cbuilder-linker-errors-trying-to-use-throwfilename-and-throwlinenumber" />
        <published>2025-07-05T18:07:06Z</published>
        <updated>2025-07-05T21:00:38Z</updated>
        <summary type="html">
            &lt;p&gt;I am trying to catch an exception and get the line and source file where the error occurred.  I was using &lt;code&gt;__throwLineNumber&lt;/code&gt; and &lt;code&gt;__throwFileName&lt;/code&gt; and it compiles, but I am receiving linker errors:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;[ilink32 Error] Error: &#x27;__ThrowFileName()&#x27; unresolved&#xA;[ilink32 Error] Error: &#x27;__ThrowLineNumber()&#x27; unresolved&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79659079</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Why does file not exist after calling TRegistry::SaveKey() using C&#x2B;&#x2B;Builder?</title>
            <category scheme="https://stackoverflow.com/tags" term="windows" />
            <category scheme="https://stackoverflow.com/tags" term="winapi" />
            <category scheme="https://stackoverflow.com/tags" term="windows-10" />
            <category scheme="https://stackoverflow.com/tags" term="registry" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>Nigel Stevens</name>
            <uri>https://stackoverflow.com/users/1579291</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79659079/why-does-file-not-exist-after-calling-tregistrysavekey-using-cbuilder" />
        <published>2025-06-09T15:03:32Z</published>
        <updated>2025-06-09T23:44:50Z</updated>
        <summary type="html">
            &lt;p&gt;Using C&#x2B;&#x2B;Builder 12 Athens Community Edition under Windows 10.&lt;/p&gt;&#xA;&lt;p&gt;My &lt;code&gt;S:&lt;/code&gt; drive is where I keep my source code. &lt;code&gt;FOE&lt;/code&gt; is the name of the current program I&#x27;m developing to watch file associations in the registry and tell me when they&#x27;ve changed.&lt;/p&gt;&#xA;&lt;p&gt;What I&#x27;m trying to do is to take a snapshot of the registry key I&#x27;m interested in and everything under it, so I can compare it later and see what&#x27;s changed.&lt;/p&gt;&#xA;&lt;p&gt;Everything seems to work OK, and the &lt;code&gt;TRegistry::SaveKey()&lt;/code&gt; method doesn&#x27;t seem to leave a value in the &lt;code&gt;TRegistry::LastError&lt;/code&gt; property, but I can&#x27;t find the file.&lt;/p&gt;&#xA;&lt;p&gt;This is only ever going to run locally on my PC, so the long key name should not change.&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#define ROOTKEY HKEY_USERS&#xA;&#xA;void __fastcall TOptionsForm::SnapShot(void)&#xA;{&#xA;    // Take a snapshot of the file extensions currently under HKEY_USERS&#xA;    TRegistry *WinReg;&#xA;    UnicodeString WinKey;&#xA;    UnicodeString fPath;&#xA;    UnicodeString msg;&#xA;&#xA;    fPath.sprintf(L&amp;quot;S:\\FOE\\Keys\\FileExts&amp;quot;);&#xA;    WinReg = new TRegistry(KEY_ALL_ACCESS);&#xA;    WinReg-&amp;gt;RootKey = ROOTKEY;&#xA;    WinKey.sprintf(L&amp;quot;S-1-5-21-192366507-594344067-2320108307-1001\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts&amp;quot;);&#xA;&#xA;    if (WinReg-&amp;gt;OpenKey(WinKey,false))&#xA;    {&#xA;        ListBox1-&amp;gt;Items-&amp;gt;Add(fPath);&#xA;&#xA;        WinReg-&amp;gt;SaveKey(WinKey,fPath);&#xA;&#xA;        if (WinReg-&amp;gt;LastError)&#xA;        {&#xA;            msg.sprintf(L&amp;quot;Error %d&amp;quot;,WinReg-&amp;gt;LastError);&#xA;            ListBox1-&amp;gt;Items-&amp;gt;Add(msg);&#xA;            msg = WinReg-&amp;gt;LastErrorMsg;&#xA;            ListBox1-&amp;gt;Items-&amp;gt;Add(msg);&#xA;        }&#xA;    }&#xA;    WinReg-&amp;gt;CloseKey();&#xA;    delete WinReg;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79637369</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">FireMonkey - how to get bitmap from TLayout including TText?</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="firemonkey" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="rad-studio" />
        <author>
            <name>Barry Andrews</name>
            <uri>https://stackoverflow.com/users/1781750</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79637369/firemonkey-how-to-get-bitmap-from-tlayout-including-ttext" />
        <published>2025-05-25T04:16:19Z</published>
        <updated>2025-05-25T20:44:36Z</updated>
        <summary type="html">
            &lt;p&gt;I have a RAD Studio 12 C&#x2B;&#x2B; project which has a &lt;code&gt;TLayout&lt;/code&gt; on a form.  The &lt;code&gt;TLayout&lt;/code&gt; has a number of &lt;code&gt;TRectangle&lt;/code&gt; children, and some of them have &lt;code&gt;TText&lt;/code&gt; children.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;code&gt;TRectangle&lt;/code&gt;s have their own bitmap images in them.&lt;/p&gt;&#xA;&lt;p&gt;This all displays well on the form, I see the &lt;code&gt;TRectangle&lt;/code&gt;s and their images, and I see the &lt;code&gt;TText&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;However, when I try to capture a bitmap from the &lt;code&gt;TLayout&lt;/code&gt;, I get the &lt;code&gt;TLayout&lt;/code&gt; and the &lt;code&gt;TRectangle&lt;/code&gt;s but not the &lt;code&gt;TText&lt;/code&gt;.  This is the case if the &lt;code&gt;TText&lt;/code&gt; is a child of the &lt;code&gt;TLayout&lt;/code&gt; or a child of a &lt;code&gt;TRectangle&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I am capturing the bitmap using the Canvas of the &lt;code&gt;TLayout&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;void __fastcall TFillScreenForm::CaptureToBitmap(Graphics::TBitmap * Bitmap)&#xA;{&#xA;    if (Bitmap)&#xA;    {&#xA;        Bitmap-&amp;gt;SetSize(FillLayout-&amp;gt;Width, FillLayout-&amp;gt;Height);&#xA;        // Create a canvas for the bitmap&#xA;        TCanvas* Canvas = Bitmap-&amp;gt;Canvas;&#xA;&#xA;        // Begin drawing on the canvas&#xA;        TRectF Rect(0, 0, Layout-&amp;gt;Width, Layout-&amp;gt;Height);&#xA;        if (Canvas-&amp;gt;BeginScene())&#xA;        {&#xA;            try&#xA;            {&#xA;                // Clear the canvas&#xA;                Canvas-&amp;gt;Clear(TAlphaColors::Null);&#xA;&#xA;                // Render the layout onto the canvas&#xA;                Layout-&amp;gt;PaintTo(Canvas, Rect);&#xA;            }&#xA;            catch (...)&#xA;            {&#xA;                // Handle any exceptions if necessary&#xA;            }&#xA;            // End the drawing scene&#xA;            Canvas-&amp;gt;EndScene();&#xA;        }&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Is there another way of capturing the &lt;code&gt;TLayout&lt;/code&gt; or the &lt;code&gt;TForm&lt;/code&gt; in FireMonkey so I also get the &lt;code&gt;TText&lt;/code&gt;?&lt;/p&gt;&#xA;&lt;p&gt;As an example, this is the form with the &lt;code&gt;TLayout&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/JpncwLp2.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/JpncwLp2.png&quot; alt=&quot;image&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;And here is the captured bitmap:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/GsPDcpRQ.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/GsPDcpRQ.png&quot; alt=&quot;image&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have also tried the snapshot function in &lt;code&gt;TLayout&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;Bitmap-&amp;gt;SetSize(Layout-&amp;gt;Width, Layout-&amp;gt;Height);&#xA;Bitmap-&amp;gt;Assign(Layout-&amp;gt;MakeScreenshot());&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Both capture only the graphics, not the &lt;code&gt;TText&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I am not sure if this is a FireMonkey bug. If I add a &lt;code&gt;TLabel&lt;/code&gt;, this is correctly copied into the bitmap. I need to use &lt;code&gt;TText&lt;/code&gt; as I want its greater flexibility.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/JffgDgC2.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/JffgDgC2.png&quot; alt=&quot;image&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;To make sure it isn&#x27;t anything to do with drawing order, I tried adding a &lt;code&gt;TText&lt;/code&gt; on its own away from the other &lt;code&gt;TRectangle&lt;/code&gt; objects, but this also is not copied into the bitmap, but displays correctly on the form.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79630019</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">How to make a TDbLookUpComboBox equivalent using LiveBindings?</title>
            <category scheme="https://stackoverflow.com/tags" term="combobox" />
            <category scheme="https://stackoverflow.com/tags" term="firemonkey" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>antarey</name>
            <uri>https://stackoverflow.com/users/3864557</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79630019/how-to-make-a-tdblookupcombobox-equivalent-using-livebindings" />
        <published>2025-05-20T07:53:23Z</published>
        <updated>2025-05-21T20:01:30Z</updated>
        <summary type="html">
            &lt;p&gt;I am using RAD Studio 12.2. The data source is an SQLite table.&lt;/p&gt;&#xA;&lt;p&gt;How to create an analogue of &lt;code&gt;TDbLookUpComboBox&lt;/code&gt; using LiveBindings? Is it possible without code?&lt;/p&gt;&#xA;&lt;p&gt;The articles I found do not help.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79582647</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Unresolved external &#x27;IdnToAscii&#x27;</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
        <author>
            <name>d7d1cd</name>
            <uri>https://stackoverflow.com/users/11382270</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79582647/unresolved-external-idntoascii" />
        <published>2025-04-19T17:18:17Z</published>
        <updated>2025-04-21T19:43:59Z</updated>
        <summary type="html">
            &lt;p&gt;When trying to use the following overload of the &lt;code&gt;TIPAddress::Create()&lt;/code&gt; method:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;#include &amp;lt;System.Net.Socket.hpp&amp;gt;&#xA;...&#xA;System::Net::Socket::TIPAddress::Create(L&amp;quot;192.168.99.3&amp;quot;);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The program fails to build in release with the following error:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[ilink64 Error] Error: Unresolved external &#x27;IdnToAscii&#x27; referenced from C:\SOFT\EMBARCADERO\STUDIO\23.0\LIB\WIN64\RELEASE\RTL.A|System.Net.Socket.o&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;When building in debug or using another overload of &lt;code&gt;Create&lt;/code&gt;, the build succeeds. How can I fix this?&lt;/p&gt;&#xA;&lt;p&gt;FMX Project, C&#x2B;&#x2B;Builder 12.&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79578704</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Resizing a form C&#x2B;&#x2B;Builder FMX (Delphi)</title>
            <category scheme="https://stackoverflow.com/tags" term="delphi" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="window-resize" />
        <author>
            <name>antarey</name>
            <uri>https://stackoverflow.com/users/3864557</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79578704/resizing-a-form-cbuilder-fmx-delphi" />
        <published>2025-04-17T07:19:18Z</published>
        <updated>2025-04-17T07:19:18Z</updated>
        <summary type="html">
            &lt;p&gt;My task is to implement a standard mechanism for resizing a form.&#xA;I have the main form TForm frmMain.&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;frmMain-&amp;gt;Transperent = true.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;On the form is placed the TPanel PanelRoot&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;PanelRoot-&amp;gt;Align = Client.&#xA;PanelRoot-&amp;gt;Padding = 6&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;I need to resize the main form using PanelRoot&#xA;&lt;br&gt;Here is a part of my code.&#xA;&lt;br&gt;But there are some problems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it is impossible to resize quickly - the cursor needs to be moved&#xA;very slowly&lt;/li&gt;&#xA;&lt;li&gt;if the cursor goes outside the window and then returns,    the cursor&#xA;remains crSizeWE or crSizeNS and the form is resized even    without&#xA;the left mouse button pressed&#xA;&lt;br&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;//---------------------------------------------------------------------------&#xA;    void __fastcall TfrmMain::FormCreate(TObject* Sender)&#xA;    {&#xA;        IsResizingHorz              = false;&#xA;        IsResizingVert              = false;&#xA;    }&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfrmMain::PanelRootMouseDown(TObject* Sender, TMouseButton Button, TShiftState Shift, float X, float Y)&#xA;{&#xA;    if (Button == TMouseButton::mbLeft) {&#xA;        bool IsNearRightEdge  = (X &amp;lt;= 4 || X &amp;gt;= Width - 4);&#xA;        bool IsNearBottomEdge = (Y &amp;lt;= 4 || Y &amp;gt;= Height - 4);&#xA;&#xA;        if (IsNearRightEdge) {&#xA;            IsResizingHorz = true;&#xA;            StartX         = X;&#xA;            InitialWidth   = Width;&#xA;        } else if (IsNearBottomEdge) {&#xA;            IsResizingVert = true;&#xA;            StartY         = Y;&#xA;            InitialHeight  = Height;&#xA;        }&#xA;    }&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TfrmMain::PanelRootMouseUp(TObject* Sender, TMouseButton Button, TShiftState Shift, float X, float Y)&#xA;{&#xA;    if (Button == TMouseButton::mbLeft) {&#xA;        IsResizingHorz    = false;&#xA;        IsResizingVert    = false;&#xA;        PanelRoot-&amp;gt;Cursor = crDefault;&#xA;    }&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&#xA;void __fastcall TfrmMain::PanelRootMouseMove(TObject* Sender, TShiftState Shift, float X, float Y)&#xA;{&#xA;&#xA;    if (X &amp;lt;= 4 || X &amp;gt;= Width - 4) {&#xA;        PanelRoot-&amp;gt;Cursor = crSizeWE;&#xA;    } else if (Y &amp;lt;= 4 || Y &amp;gt;= Height - 4) {&#xA;        PanelRoot-&amp;gt;Cursor = crSizeNS;&#xA;    } else&#xA;        PanelRoot-&amp;gt;Cursor = crDefault;&#xA;&#xA;    if (IsResizingHorz) {&#xA;        auto NewWidth = InitialWidth &#x2B; (X - StartX);&#xA;        SetBounds(Left, Top, NewWidth, Height);&#xA;&#xA;    } else if (IsResizingVert) {&#xA;        auto NewHeight = InitialHeight &#x2B; (Y - StartY);&#xA;        SetBounds(Left, Top, Width, NewHeight);&#xA;    }&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79562447</id>
        <re:rank scheme="https://stackoverflow.com">3</re:rank>
        <title type="text">Using Address Sanitizer (ASAN) with VCL in Embarcadero C&#x2B;&#x2B;Builder 12.3</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="address-sanitizer" />
            <category scheme="https://stackoverflow.com/tags" term="rad-studio" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder-12-athens" />
        <author>
            <name>JonT</name>
            <uri>https://stackoverflow.com/users/30211359</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79562447/using-address-sanitizer-asan-with-vcl-in-embarcadero-cbuilder-12-3" />
        <published>2025-04-08T15:15:06Z</published>
        <updated>2025-04-08T16:15:55Z</updated>
        <summary type="html">
            &lt;p&gt;Has anyone had any luck using the Address Sanitizer with VCL forms in C&#x2B;&#x2B;Builder 12.3? I can&#x27;t get it to work with even the most trivial of forms.&lt;/p&gt;&#xA;&lt;p&gt;When running C&#x2B;&#x2B;Builder with ASAN enabled (Win64X target), I get exceptions like &lt;code&gt;(0xc0000005 encountered at address...)&lt;/code&gt; in the IDE, or &lt;code&gt;&amp;quot;The application was unable to start correctly (0xc0000142)&amp;quot;&lt;/code&gt; when executing under a Windows command prompt. I&#x27;ve tried static and dynamic linking, with and without runtime packages, etc.&lt;/p&gt;&#xA;&lt;p&gt;Has anyone gotten this to work? Any tips?&lt;/p&gt;&#xA;&lt;p&gt;IDE Callback Stack:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;:00007FFF1EB63F80 __asan::PoisonShadow(unsigned long long, unsigned long long, unsigned char)()&#xA;:00007FFF1EB4A62E __sanitizer::SizeClassAllocator64&amp;lt;__asan::AP64&amp;lt;__sanitizer::LocalAddressSpaceView&amp;gt;&amp;gt;::MapWithCallbackOrDie(unsigned long long, unsigned long long, char const*)()&#xA;:00007FFF1EB4A520 __sanitizer::SizeClassAllocator64&amp;lt;__asan::AP64&amp;lt;__sanitizer::LocalAddressSpaceView&amp;gt;&amp;gt;::Init(int, unsigned long long)()&#xA;:00007FFF1EB47FEC __asan::Allocator::InitLinkerInitialized(__asan::AllocatorOptions const&amp;amp;)()&#xA;:00007FFF1EB6B7A0 __asan::AsanInitInternal()()&#xA;:00007FFF1EB7414F __do_global_ctors()&#xA;:00007FFF1EB741A0 __main()&#xA;:00007FFF1EB213F5 __DllMainCRTStartup()&#xA;:00007FFF1EB212C2 DllMainCRTStartup()&#xA;:00007FFFA0CD8B8F RtlActivateActivationContextUnsafeFast()&#xA;:00007FFFA0D1D63D RtlEnumerateEntryHashTable()&#xA;:00007FFFA0D1D3EE RtlEnumerateEntryHashTable()&#xA;:00007FFFA0D1D460 RtlEnumerateEntryHashTable()&#xA;:00007FFFA0D8EE69 LdrInitShimEngineDynamic()&#xA;:00007FFFA0D7AB16 EtwLogTraceEvent()&#xA;:00007FFFA0D24523 LdrInitializeThunk()&#xA;:00007FFFA0D2444E LdrInitializeThunk()&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Sample Test Code:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#include &amp;lt;vcl.h&amp;gt;&#xA;#pragma hdrstop&#xA;&#xA;#include &amp;quot;MyAsanTest.h&amp;quot;&#xA;//---------------------------------------------------------------------------&#xA;#pragma package(smart_init)&#xA;#pragma resource &amp;quot;*.dfm&amp;quot;&#xA;TForm1 *Form1;&#xA;//---------------------------------------------------------------------------&#xA;__fastcall TForm1::TForm1(TComponent* Owner)&#xA;    : TForm(Owner)&#xA;{&#xA;    MyCB-&amp;gt;Checked = true;&#xA;}&#xA;//---------------------------------------------------------------------------&#xA;void __fastcall TForm1::TestButtonClick(TObject *Sender)&#xA;{&#xA;    if (MyCB-&amp;gt;Checked) &#xA;    {&#xA;        Memo1-&amp;gt;Lines-&amp;gt;Append(&amp;quot;MyCB is checked&amp;quot;);&#xA;    }&#xA;    else&#xA;    {&#xA;        Memo1-&amp;gt;Lines-&amp;gt;Append(&amp;quot;MyCB is not checked&amp;quot;);&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Sample Header:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;//---------------------------------------------------------------------------&#xA;&#xA;#ifndef MyAsanTestH&#xA;#define MyAsanTestH&#xA;//---------------------------------------------------------------------------&#xA;#include &amp;lt;System.Classes.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.Controls.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.StdCtrls.hpp&amp;gt;&#xA;#include &amp;lt;Vcl.Forms.hpp&amp;gt;&#xA;//---------------------------------------------------------------------------&#xA;class TForm1 : public TForm&#xA;{&#xA;__published:    // IDE-managed Components&#xA;    TCheckBox *MyCB;&#xA;    TMemo *Memo1;&#xA;    TCheckBox *My2ndCB;&#xA;    TButton *TestButton;&#xA;    void __fastcall TestButtonClick(TObject *Sender);&#xA;private:    // User declarations&#xA;public:     // User declarations&#xA;    __fastcall TForm1(TComponent* Owner);&#xA;};&#xA;//---------------------------------------------------------------------------&#xA;extern PACKAGE TForm1 *Form1;&#xA;//---------------------------------------------------------------------------&#xA;#endif&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.sstatic.net/pzwcKlaf.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.sstatic.net/pzwcKlaf.png&quot; alt=&quot;Sample Form&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79559270</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Indy10 network library - openssl 3.X and TLS1.3 support</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="indy10" />
            <category scheme="https://stackoverflow.com/tags" term="rad-studio" />
        <author>
            <name>Nilesh Shinde</name>
            <uri>https://stackoverflow.com/users/10799775</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79559270/indy10-network-library-openssl-3-x-and-tls1-3-support" />
        <published>2025-04-07T07:08:55Z</published>
        <updated>2025-04-07T15:52:02Z</updated>
        <summary type="html">
            &lt;p&gt;I am currently using Indy10 library along with OpenSSL 1.0.2u to support TLS1.2 in my application. Could you please share details about how I can support TLS1.3 in my application?&#xA;Do I have to upgrade the Indy10 along with OpenSSL to 3.X version?&lt;/p&gt;&#xA;&lt;p&gt;Has Indy 10 started supporting OpenSSL 3.X and TLS1.3?&lt;/p&gt;&#xA;&lt;p&gt;I am using RAD Studio XE5 for my development.&lt;/p&gt;&#xA;&lt;p&gt;Regards&#xA;Nilesh&lt;/p&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79551739</id>
        <re:rank scheme="https://stackoverflow.com">0</re:rank>
        <title type="text">Using CreateOleObject in C&#x2B;&#x2B;Builder</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="adox" />
            <category scheme="https://stackoverflow.com/tags" term="createoleobject" />
        <author>
            <name>Mark Di Val</name>
            <uri>https://stackoverflow.com/users/726536</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79551739/using-createoleobject-in-cbuilder" />
        <published>2025-04-02T23:30:47Z</published>
        <updated>2025-04-14T22:53:06Z</updated>
        <summary type="html">
            &lt;p&gt;In Delphi 12.3, this compiles and works to create a new empty Access database file:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-pascal prettyprint-override&quot;&gt;&lt;code&gt;Uses ComObj;&#xA;    &#xA;procedure TForm1.Button1Click(Sender: TObject);&#xA;var&#xA;  AdoX: OleVariant;    &#xA;begin&#xA;  AdoX := CreateOleObject(&#x27;ADOX.Catalog&#x27;);&#xA;  AdoX.Create(&#x27;Provider=Microsoft.ACE.OLEDB.12.0; Data Source=test.accdb&#x27;);&#xA;end;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;But I am struggling to do the same in C&#x2B;&#x2B;Builder 12.3.&lt;/p&gt;&#xA;&lt;p&gt;I started with the following:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#include &amp;lt;ComObj.hpp&amp;gt;&#xA;    &#xA;void __fastcall TForm1::Button1Click(TObject *Sender)&#xA;{&#xA;    OleVariant AdoX;&#xA;    &#xA;    AdoX = CreateOleObject(L&amp;quot;ADOX.Catalog&amp;quot;);&#xA;    AdoX.Create(L&amp;quot;Provider=Microsoft.ACE.OLEDB.12.0; Data Source=test.accdb&amp;quot;);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;However, the Windows 64-bit (Modern) compiler gives this error:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;[bcc64x Error] Unit1.cpp(29): use of overloaded operator &#x27;=&#x27; is ambiguous (with operand types &#x27;System::OleVariant&#x27; and &#x27;_di_IDispatch&#x27; (aka &#x27;DelphiInterface&amp;lt; ::IDispatch&amp;gt;&#x27;))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;If I use &lt;code&gt;_di_IDispatch&lt;/code&gt; like so:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#include &amp;lt;ComObj.hpp&amp;gt;&#xA;    &#xA;void __fastcall TForm1::Button1Click(TObject *Sender)&#xA;{&#xA;    _di_IDispatch AdoX;&#xA;    &#xA;    AdoX = CreateOleObject(L&amp;quot;ADOX.Catalog&amp;quot;);&#xA;    AdoX.Create(L&amp;quot;Provider=Microsoft.ACE.OLEDB.12.0; Data Source=test.accdb&amp;quot;);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Then the line with &lt;code&gt;CreateOleObject()&lt;/code&gt; compiles, but the next line doesn&#x27;t compile because &lt;code&gt;_di_IDispatch&lt;/code&gt; has no &lt;code&gt;Create()&lt;/code&gt; method:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;[bcc64x Error] Unit1.cpp(30): no member named &#x27;Create&#x27; in   System::DelphiInterface&amp;lt;IDispatch&amp;gt;&#x27;.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;
        </summary>
    </entry>
    <entry>
        <id>https://stackoverflow.com/q/79543057</id>
        <re:rank scheme="https://stackoverflow.com">7</re:rank>
        <title type="text">C&#x2B;&#x2B; argument parsing is incorrect when the executable file path contains spaces</title>
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;" />
            <category scheme="https://stackoverflow.com/tags" term="arguments" />
            <category scheme="https://stackoverflow.com/tags" term="command-line-interface" />
            <category scheme="https://stackoverflow.com/tags" term="c&#x2B;&#x2B;builder" />
            <category scheme="https://stackoverflow.com/tags" term="argv" />
        <author>
            <name>Bruce Varley</name>
            <uri>https://stackoverflow.com/users/29279092</uri>
        </author>
        <link rel="alternate" href="https://stackoverflow.com/questions/79543057/c-argument-parsing-is-incorrect-when-the-executable-file-path-contains-spaces" />
        <published>2025-03-29T09:40:50Z</published>
        <updated>2025-03-31T12:07:37Z</updated>
        <summary type="html">
            &lt;p&gt;I am having problems with arguments in C&#x2B;&#x2B; console programs built under C&#x2B;&#x2B;Builder 12 Community Edition.&lt;/p&gt;&#xA;&lt;p&gt;If the executable is in a folder with spaces in its name, eg. &lt;code&gt;&amp;quot;test dir&amp;quot;&lt;/code&gt;, and I invoke it from a console session in a DIFFERENT folder, then the arguments extracted by my code are incorrect. If the executable file path has no spaces, everything works fine. If I run it within the IDE, it&#x27;s OK, too. Code built under Visual Studio 22 also works OK.&lt;/p&gt;&#xA;&lt;p&gt;CPPtest.cpp&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-cpp prettyprint-override&quot;&gt;&lt;code&gt;#include &amp;lt;iostream.h&amp;gt;&#xA;&#xA;int main(int argc, char* argv[])&#xA;{&#xA;    cout &amp;lt;&amp;lt; &amp;quot;argc: &amp;quot; &amp;lt;&amp;lt; argc &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; &#xA;    cout &amp;lt;&amp;lt; &amp;quot;argv0: &amp;quot; &amp;lt;&amp;lt; argv[0] &amp;lt;&amp;lt; &amp;quot;\n&amp;quot;; &#xA;    cout &amp;lt;&amp;lt; &amp;quot;argv1: &amp;quot; &amp;lt;&amp;lt; argv[1] ; &#xA;    return 0 ;`&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;The executable is located in a directory named &lt;code&gt;&amp;quot;Misc projects&amp;quot;&lt;/code&gt;, CWD is &lt;code&gt;&amp;quot;C:\Junk&amp;quot;&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;pre class=&quot;lang-none prettyprint-override&quot;&gt;&lt;code&gt;C:\Junk&amp;gt;C:\&amp;quot;Misc projects&amp;quot;\CPPtest 3 8&#xA;argc: 2 ## INCORRECT: Should be 3&#xA;argv0: c:\Misc projects\CPPtest.exe&#xA;argv1: projects\CPPtest 3 8 # INCORRECT should be 8&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Identical code when ran inside Visual Studio 22 performs correctly.&lt;/p&gt;&#xA;
        </summary>
    </entry>
</feed>