Pre-sales questions / Subscription renewal
Today, I renewed AQB (Delphi) for another three years and then discovered that AQB for Delphi will probably no longer be maintained—I wanted it for Delphi 13 (Florence).
I am therefore somewhat disappointed, which everyone should know and bear in mind before renewing their support for AQB (Delphi) :-(
The latest version 1.36.2 (released on Nov 22, 2024) – no further improvements were made in 2025.
It was reasonably straight forward - just a lot of files to edit.
Now I have to remember what I did!
On my system, I have:
These contain a large number of acQueryBuilder*D29.dpk and acQueryBuilder*D29.dproj files.
I created new folders for Delphi13:
I copied acQueryBuilder*D29.dpk and acQueryBuilder*D29.dproj into the new folders.
I then used PowerToys to bulk rename:
Then I opened all the dpk files in Notepad++ and did bulk search/replace, changing 'D29' to 'D37' in the package name and in the 'requires' section.
For example, in acCriteriaBuilderD37.dpk:
I manually supervised the search/replace (ie did not just click on 'Replace All') just in case there were any that should not be changed. I cannot honestly remember now if that was absolutely necessary!
Then I opened all the dproj files in Notepad++ and did bulk search/replace, changing 'D29' to 'D37' where necessary.
For example, in acCriteriaBuilderD37.dproj:
'<MainSource>acCriteriaBuilderD29.dpk</MainSource>'became
'<MainSource>acCriteriaBuilderD37.dpk</MainSource>'
'<VersionInfoKeys Name="InternalName">acCriteriaBuilderD29</VersionInfoKeys'>
became
'<VersionInfoKeys Name="InternalName">acCriteriaBuilderD37</VersionInfoKeys'>
'<VersionInfoKeys Name="OriginalFilename">acCriteriaBuilderD29.bpl</VersionInfoKeys>
became
<'VersionInfoKeys Name="OriginalFilename">acCriteriaBuilderD37.bpl</VersionInfoKeys'>
'<Source Name="MainSource">acCriteriaBuilderD29.dpk</Source>'
became
<'Source Name="MainSource">acCriteriaBuilderD37.dpk</Source>'
Again, I manually supervised all of that.
Also, although I was editing files copied from RadStudio12 folders, I often found mention of 'RADStudio11'.
For example:
<DCC_UnitSearchPath>..\..\Source;..\..\RADStudio11\$(Platform)\$(Config)</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\Source;..\..\RADStudio11\$(Platform)\$(Config)</DCC_ResourcePath>
<DCC_ObjPath>..\..\Source;..\..\RADStudio11\$(Platform)\$(Config)</DCC_ObjPath>
<DCC_IncludePath>..\..\Source;..\..\RADStudio11\$(Platform)\$(Config)</DCC_IncludePath>
<DCC_DcuOutput>..\..\RADStudio11\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ObjOutput>..\..\RADStudio11\$(Platform)\$(Config)</DCC_ObjOutput>
<DCC_HppOutput>..\..\RADStudio11\$(Platform)\$(Config)</DCC_HppOutput>
<DCC_DcpOutput>..\..\RADStudio11\$(Platform)\$(Config)</DCC_DcpOutput>
<DCC_ExeOutput>..\..\RADStudio11\$(Platform)\$(Config)</DCC_ExeOutput>
So, I changed all these to:
<DCC_UnitSearchPath>..\..\Source;..\..\RADStudio13\$(Platform)\$(Config)</DCC_UnitSearchPath>
<DCC_ResourcePath>..\..\Source;..\..\RADStudio13\$(Platform)\$(Config)</DCC_ResourcePath>
<DCC_ObjPath>..\..\Source;..\..\RADStudio13\$(Platform)\$(Config)</DCC_ObjPath>
<DCC_IncludePath>..\..\Source;..\..\RADStudio13\$(Platform)\$(Config)</DCC_IncludePath>
<DCC_DcuOutput>..\..\RADStudio13\$(Platform)\$(Config)</DCC_DcuOutput>
<DCC_ObjOutput>..\..\RADStudio13\$(Platform)\$(Config)</DCC_ObjOutput>
<DCC_HppOutput>..\..\RADStudio13\$(Platform)\$(Config)</DCC_HppOutput>
<DCC_DcpOutput>..\..\RADStudio13\$(Platform)\$(Config)</DCC_DcpOutput>
<DCC_ExeOutput>..\..\RADStudio13\$(Platform)\$(Config)</DCC_ExeOutput>
Then, in Delphi 13, I created a new project group (I called it 'AQBForDelphi13') and I added only the AQB projects that I needed (e.g. I needed acQueryBuilderFireDACD37, but did not bother with ones I don't need like acQueryBuilderUniDACD37).
Next, I did Build All on the project group - and it worked first time.
Finally, I right-clicked on each package and installed it.
I hope I have remembered all the steps correctly. Good luck!
(I typed this in Notepad++, but when I pasted it into this website, everything inside <angle brackets> was stripped out. I had to manually correct them. Also, it would not allow me to use some of the formatting commands. I hope it looks ok when you read it!)