Active Query Builder support area

Pre-sales questions / Subscription renewal

Avatar
  • updated

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.

Avatar
Steve Bailey

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:

  • C:\Users\Public\Documents\ActiveDBSoft\Packages\RadStudio12
  • C:\Users\Public\Documents\ActiveDBSoft\Packages\RadStudio12x64

These contain a large number of acQueryBuilder*D29.dpk and acQueryBuilder*D29.dproj files.

I created new folders for Delphi13:

  • C:\Users\Public\Documents\ActiveDBSoft\Packages\RadStudio13
  • C:\Users\Public\Documents\ActiveDBSoft\Packages\RadStudio13x64

I copied acQueryBuilder*D29.dpk and acQueryBuilder*D29.dproj into the new folders.

I then used PowerToys to bulk rename:

  • acQueryBuilder*D29.dpk to acQueryBuilder*D37.dpk
  • acQueryBuilder*D29.dproj to acQueryBuilder*D37.dproj

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:

  • 'package acCriteriaBuilderD29;' was changed to 'package acCriteriaBuilderD37;'
  • 'requires acQueryBuilderD29' was changed to 'requires acQueryBuilderD37'

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!)
Avatar
Cicero A. Billo
Quote from Steve Bailey

AQB is a major feature in my Delphi project, so I risked buying the source code yesterday.

After some editing of the *.dpk and *.dproj files, I was able to manually install AQB into Delphi 13.

All the packages compiled at the first attempt - no issues at all.

That is a big relief for me. 

It is also nice to know that I should be able to install into any future version of Delphi.

Can you share steps to install AQB for Delphi 13, please? I'm trying, but no success. I have sources of 1.36.2 version and need to install it for Delphi 13. 

TIA

Avatar
david gayler

Thanks Steve, I am just guessing you are using RAD Studio as the cpp and hpp are C++ source and header files. The nice thing about it is it supports both Delphi and C++ Builder and they interop well together. I am just guessing the source code for the ASP.NET version is heavier .NET code with possibly some C++ code?? That said, at the moment, I am hoping that someone from this company is still alive and able to respond. Not very hopeful to be honest..

Avatar
Steve Bailey

The source files that were installed included:

  • *.pas
  • *.dpk
  • *.hpp
  • *.cpp

It's looking like purely Delphi to me.

Avatar
david gayler
Quote from Steve Bailey

Oh no!

If there was an error and no delivery, can you get payment protection from your bank?

Oh, for sure. Not really worried about that. More worried about not having the source code and the company being gone. Is the source code you downloaded written completely in Delphi? IOW, did they actually create a core set of code in one language (say C or C++) and then they created wrappers for the specific languages like Delphi, ASP.NET, etc. or is it completely 100% Delphi.

Avatar
Steve Bailey

Oh no!

If there was an error and no delivery, can you get payment protection from your bank?

Avatar
david gayler

I am thinking of trying Paypal instead of their CC handler to see if that makes a difference.

Avatar
david gayler

I used the site and purchased the source code version. Unfortunately I got an automated email from the vendor that there was an error and that fullfillment was going to be manual. Of course, there is nobody to do that. So, I was unable to get the automated download link despite paying for it. I checked with the payment provider and there was no issue on their side. This really sucks.

Avatar
Steve Bailey

Yes, correct. That's why it was a bit of a risk - I didn't know if the electronic delivery would work, but it did.

Avatar
david gayler

i am planning on doing the same for ASP.NET Professional version. I am assuming everything was electronically delivered without issue?