Delphi regkey support

(Ian Krigsman) #1

In reference to the settings for Embarcadero Delphi > Lib paths, I see that there’s an option to either

a) use the registry (I assume eg. [HKEY_CURRENT_USER\SOFTWARE\Embarcadero\BDS\20.0] for 10.3 Rio), or
b) override with user defined paths for Win32, Win64, etc.

In my environment, I make use of the BDS start up switch -r (regkey) to control the settings for different projects (x3). That is, I have a Delphi desktop shortcut for each project.

Consequently my FinalBuilder script needs to refer to
[HKEY_CURRENT_USER\SOFTWARE\Embarcadero\proj1\20.0]) in Proj1.fbp8
[HKEY_CURRENT_USER\SOFTWARE\Embarcadero\proj2\20.0]) in Proj2.fbp8, and
[HKEY_CURRENT_USER\SOFTWARE\Embarcadero\proj3\20.0]) in Proj3.fbp8

Is there a setting to control the BDS regkey?

If not, can you suggest the best way to work with the options available?

I can’t seem to prepare a path variable in advance since that raises the “BDSxxx not found” error.

NB In one project there are 17 Delphi compile actions, so a change that doesn’t need individual action maintenance would be preferred.

BTW, it’s mainly the library path for the compile action that I’m mainly concerned about, but there may be other settings under this regkey that I have yet to deal with.


– Ian

(Vincent Parrett) #2

Hi Ian

We don’t really have a way of dealing with project specific ide registry settings.

The Delphi environment variables are virtualised at the action level, depending on the delphi version selected, so setting outside of the delphi action

IMHO the best solution for this is to not use the Library Path in your projects, instead use the Search Path on the project settings. This is something I’ve been preaching for years!

I get the need for using the separate registry trees to control sets of install design time packages, but at the command line build stage none of that is needed. The search path setting lives in the dproj file which makes building on different machines simpler.

BTW, to change settings on multiple actions, you can use ctrl+click to multi select them, then use the action properties tab (F12 with the emb key bindings) to change settings. The inspector will only show properties common to the action types.

(Ian Krigsman) #3

Thanks Vincent

use the Search Path…I’ve been preaching

Don’t worry, I hear your voice in my ear every time I go near the library settings!
…and I’m endeavouring to do that more. I just find it cumbersome to maintain the (very long) library path at the project level, especially since the project options load up at, say, the win32/debug level and I find I’m always cleaning that out to set it at the topmost level possible. Also, any change has to get propagated across all apps in that project.

I’ll work with what I’ve got for now but offer this as a suggestion for a future build:
Eg. Allow the BDS registry key to be controlled by a variable (or some means at the FB project level).

BTW, thanks for the multi-action selection tip. I was not aware of that.