All known Generics bugs fixed in GExperts code formatter

 Delphi, GExperts  Comments Off on All known Generics bugs fixed in GExperts code formatter
Sep 282022

I have just finished fixing all known bugs in the GExperts code formatter that were related to Generics. On top of that I fixed a few others.

I am sure there are still more though, but because I rarely use Generics I haven’t seen them yet. So I need your help: If you have a lot of source code with Generics, please compile a new DLL and try the formatter on that code. Report any bugs on SourceForge.

 Posted by on 2022-09-28 at 18:46

Change order of experts in GExperts Expert Manager

 Delphi, GExperts  Comments Off on Change order of experts in GExperts Expert Manager
Sep 282022

Prompted by a post on Delphi Praxis, I just added a new feature to the Expert Manager expert in GExperts (lots of experts here 😉 ): It can now change the order in which the experts are loaded into the IDE.

This may be important e.g. if you are using Andreas Hausladen’s Delphi Speed Up or IDE Fix Pack as those should be loaded before any other plugins.

Note that in order to these changes to have any effect, you need to save them! That’s no longer done automatically.

As there is no new release of GExperts yet, you need to compile your own DLL to get this feature.

Discussion about this post in the international Delphi Praxis forum.

 Posted by on 2022-09-28 at 11:11

added support for TColor and Local Variables to dzDebugVisualizer

 Delphi, dzDebugVisualizer  Comments Off on added support for TColor and Local Variables to dzDebugVisualizer
Jul 312022

After making the source code of dzDebugVisualizer available I got interested in Debug Visualizers in general and had a look at how they are supported in Delphi 11. I wrote a visualizer for TColor, based on an old EDN article (now only in the Internet Archive). And after that I simply added that functionality to dzDebugVisualizer. It supports both, the Watch window and Evaluate and Modify dialog. In the latter, there is now a new modifyer key ‘L’ for Co*l*or. The output shows three values:

  • The color name, e.g. “clLime”
  • The web color name, e.g. “clWebLime”
  • The RGB value, e.g. “RGB(0, 255, 0)”

On top of that I moved the new menu items to a “Visualizers” submenu and added support to the “Local Variables” window as well.

These changes have already been committed to the svn repository on OSDN.

 Posted by on 2022-07-31 at 17:57

dzDebugVisualizer source code available

 Delphi, dzDebugVisualizer  Comments Off on dzDebugVisualizer source code available
Jul 312022

Several years ago I wrote a Delphi IDE plugin to extend the functionality of the “Evaluate and Modify” dialog as well as the Watches window called dzDebugVisualizer and even released an update for it. Back then I wasn’t sure whether I wanted to open source it or possibly commercialize it. I am now sure that the latter isn’t worth the effort, so I have made it open source under the Mozilla Public Licence 2.

You can find the source code on OSDN. And since I was at it, I also added support for Delphi 2009. To install it, get the source code, open the appropriate package, build and install it into the IDE.

For the description see the links to my old block posts.

dzBdsLauncher 1.0.9 released

 Delphi, dzBdsLauncher  Comments Off on dzBdsLauncher 1.0.9 released
Jul 312022

I just released dzBdsLauncher 1.0.9.

If started with a .bdsproj file, it will now not just assume that a .dpr file must exist but will check for it and if it does not exist, will try for a .dpk file.

 Posted by on 2022-07-31 at 11:35

GExpertsInst is not a valid reference

 Delphi, GExperts  Comments Off on GExpertsInst is not a valid reference
Apr 152022

Starting with GExperts 1.3.20 calling the standalone Experts Manager displayed the error message “GExpertsInst is not a valid reference”. After that the tool actually works fine.

This bug has now been fixed in the current source code. I don’t think this minor inconvenience justifies a new release.

 Posted by on 2022-04-15 at 11:52

some dxgettext improvements

 Delphi, dxgettext  Comments Off on some dxgettext improvements
Apr 102022

I fixed a bug in the dxgettext executable which made it add wrong ressource string names to the po files which in turn made the msgmergePOT tool select wrong translations. You will have to compile your own executable to get this bugfix. The source code is in the project’s svn repository on SourceForge.

Also I added scripts to generate partial German and French translations for Delphi 10, 10.1, 10.2, 10.3 and 10.4 and even added those partial translations for Delphi 10, 10.1, 10.2 and 10.4 (note that 10.3 is missing) to the repository. Warning: These translations may still be faulty.

 Posted by on 2022-04-10 at 18:31

GExperts 1.3.21 experimental twm 2022-04-09 released

 Delphi, GExperts  Comments Off on GExperts 1.3.21 experimental twm 2022-04-09 released
Apr 092022

You may remember that I was forced to reduce GExperts support for Delphi 6 a while ago, because the IDE no longer started on my computer. It turns out that it was a GExperts bug after all.

The fix was simple once I knew what the problem was. And I only found out because carrchri, one of the few GExperts for Delphi 6 users, debugged it and told me. Thanks a lot!

When I was able to use the Delphi 6 IDE again I also fixed incompatibilities in the DFMs that prevented some of the dialogs open in Delphi 6.

So here is a new release. Apart from these two Delphi 6 related bug fixes there are some improvements to the code formatter also submitted by users:

Achim Kalwa again also submitted some patches for fixing bugs.

On top of that various High DPI display problems with Delphi 11 as well as a long standing display problem for owner drawn string grids (e.g. in the Uses Clause Manager) have been fixed.

The new GExperts version still supports all Delphi versions back to Delphi 6 (with the notable exception of Delphi 8).

As always: Report and any bugs you find (or contribute bug fixes) and also file feature requests or maybe even contribute implementations for these features.

It might take a while but I am always looking at those tickets when I find the time.

Head over to the GExperts download page to get it.

Discussion about this post in the international Delphi Praxis forum.

 Posted by on 2022-04-09 at 15:14

Duplicate entries in the identifier list of the GExperts Uses Clause Manager

 Delphi, GExperts  Comments Off on Duplicate entries in the identifier list of the GExperts Uses Clause Manager
Mar 192022

A long time ago I added the Identifier tab to the Uses Clause Manager in GExperts. It looks like this:

In this screen shot, I filtered for TWinControl and the expert found several matching entries, the two top ones in the unit Controls.

While this looks like a bug at first (indeed I have received a bug report for it) it is in fact a feature. There are actually two declarations of TWinControl in the unit Controls. The first is in line 212, which is a forward declaration like this:

  TWinControl = class;

The other is in line 1243, which is the actual declaration of the class:

  TWinControl = class(TControl)
    // class declaration goes here

(Both line numbers are from Delphi 2007, they will vary in other Delphi versions.)

The expert lists them both and when the user clicks the “Open Unit” button (or presses Ctrl+O), it will then open that unit and place the cursor in the line of the declaration.

One word to the person who reported that bug: Please do not be offended that I blogged about it not being an actual bug but a feature. It is not meant to shame you. On the contrary, I am grateful that I receive good bug reports like this one. Please keep them coming!

If you’d like to discuss this blog post, you can do so in the corresponding post in the international DelphiPraxis forum.

 Posted by on 2022-03-19 at 15:31