Forum for GExperts


Since Google is shutting down Google+ and the Yahoo mailing list does no longer accept my emails, I have been looking for an alternative which will hopefully be available for a bit longer this time.

There is now a GExperts sub forum in the brand new English Speaking Delphi Praxis forum. Everybody is invited to sign up and participate.

Please note that my preferred way for getting bug reports and feature requests is still a ticket on SourceForge.

Here is the current content of the forum’s RSS feed

  • GExperts adds copy and paste for Delphi Tool menu entries
    on 2019-06-09 at 16:28

    In my last post I wrote about the export and import feature for custom Tools menu entries that GExperts adds to the Delphi IDE. I also mentioned that I was thinking about adding a custom clipboard format for copying and pasting these entries between multiple Delphi instances / versions. OK, I did that. GExperts now also adds a popup menu to the Tool Properties dialog with two entries: Copy entry to clipboard Paste entry from clipboard   Read on in the blog post […]

  • New GExperts IDE enhancement: Export and Import entries for the Tools menu
    on 2019-06-08 at 16:49

    The Delphi IDE has the quite useful option to add custom entries to the Tools menu. These entries call external programs with some “Macros” that reference the current IDE status, e.g. the currently active project or source file and some of their properties like the output directory or the current editor column and row. GExperts already enhances the Tools Properties dialog by adding auto completion for the file name and the working directory (for Delphi 6 and 7 it also adds support for Drag and Drop, but that doesn’t work for later versions). It has always irked me that there was no easy way to port these custom tools entries from one Delphi version or installation to another. I always had to copy and paste four fields to achieve that. GExperts now adds two new buttons to export and import the current entry:   Read on in my blog post […]

  • Directory Search in Grep Search: Follow Shortcut links
    on 2019-05-27 at 15:49

    I have added this feature request in GExperts:   This OPTION would add a lot of useful flexibility to directory Search in Grep Search:    If Grep Search finds a shortcut link (*.lnk) of a directory in the search directory (e.g. pointing to D:\MyProject) then Grep Search additionally searches in directory: D:\MyProject   If Grep Search finds a shortcut link of a file in the search directory (e.g. pointing to F:\MyRoutines.pas) then Grep Search additionally searches in the file: F:\MyRoutines.pas   This would allow me to create a directory full of shortcut links pointing to preferred source code directories and favorite source code files to concentrate the grep search on specific content.   This would be very useful!   What do you people think? […]

  • Bug: anonymous methods in procedure list
    on 2019-05-23 at 09:33

    Anonymous methods normally don't appear in the procedure list (which I don't mind - so even if you decide to list them in the future, please make that optional). However when you have a function/procedure does not have any arguments and you don't write () they appear in the list:   procedure Main; var   f: TFunc<Integer>;   p: TProc;   f2: TFunc<Integer,Integer>;   p2: TProc<Integer>; begin   f := function: Integer begin end; // appears as empty entry in procedure list   f := function(): Integer begin end; // does not appear   p := procedure begin end; // appears as "begin end" in procedure list   p := procedure() begin end; // does not appear   p2 := procedure(x: Integer) begin end; // does not appear   f2 := function(x: Integer): Integer begin end; // does not appear end; &nbs […]

  • Jumping to methods via procedure list does not expand region
    on 2019-05-13 at 09:49

    When the method/routine being jumped to via procedure list is inside a collapsed region this region is not being expanded causing weird behavior.   Same is the case for using "Previous/Next Identifier Reference" (Ctrl+Alt+Up/Down) […]

  • GExperts Select Components Expert
    on 2019-04-27 at 18:14

    Does anybody know whether GExperts ever included a "Select Components" expert? It looks like this:   or like this in expanded mode:   I just found that there is source code for such an expert in source\experts\GX_SelectComonents but it has not been added to the project(s), so it does not show up in the experts list.   It seems that it was originally written by Rossen Assenov who put in on CodeCentral with the following comment: Quote Searching for a specific component on a form can be very cubersome when there a lot of components. The component list combobox on the Object Inspector is not helping much. This Delphi Expert shows a treeview of all the components on the current form and allows you to find-as-you-type. It makes finding components a breeze. I borrowed some code from the GExperts project and will submit it to them for inclusion. In the meantime you can use this version - it can be installed together with GExperts in the Delphi IDE. Tested with Delphi 2006 - should work with previous versions too. Included a prebuilt .bpl file for D2006 and full source. To use : switch to the form designer and choose "Select Components Expert" from the Help menu (Alt + H + C). Updated : Show/hide the components treeview. In "mini" mode it takes much less space and can be left always on top. (Docking will be implemented when it's merged with the GExperts code base). The source was already part of the GExperts sources when they were moved to the SVN repository on SourceForge in 2007 but they were not part of the projects even then (so it wasn't me who accidentally deleted them).   It also seems to work, even though it lacks the flexibility of its CnPack counterpart "Component Selector": &nbs […]

  • Components form not sizeable
    on 2019-04-24 at 13:18

    Delphi 10.3.1:     Components -> Install Packages -> Click on the "Components" button:     As you can see, the dialog has the text overlay "Form made sizable by GExperts".   However, the dialog is not resizable at all (which IMO would not make much sense in this specific case).   Is this a bug? If yes, I will add it to the GExperts bug list.   &nbs […]

  • GExperts Procedure List: Show ALL procedures in the whole project
    on 2019-04-21 at 16:26

    I have just submitted the following suggestion to the GExperts ticket list (😞   The GExperts Procedure List is such a great addon. But in part it just duplicates the MMX Member Search functionality.   A really unique functionality for the GExperts Procedure List would be to optionally show the procedures of ALL UNITS in the whole project. That would be VERY useful!   Often we look for a specific procedure in the project but don't remember the exact unit where it is located. Ok, we could use the GExpert Grep Search. But a Global Procedure List would be much simpler and faster.   You could use a simple button switch (remember between sessions) to toggle between the local and global scope.   What do you people think? […]

  • What does "G" in GExperts mean?
    on 2019-04-19 at 03:31

    Does anyone know what does "G" in GExperts mean? […]

  • Procedure List Toolbar missing
    on 2019-03-27 at 18:30

    I hid the Procedure List Toolbar, and cannot find how to unhide it. Can you help me recover from that blunder? […]

  • ticket created - silent mode for GREP search
    on 2019-03-20 at 06:58

    Hi Thomas, I'd like to bring this to your attention - I created a ticket about suppressing all error dialog boxes during the GREP search, over a week ago.   On the other hand, I'm wondering if is it possible for me to make svn commits to the repository for fixing small issues like this 🙂   &nbs […]

  • List of all uses clause items in the whole project
    on 2019-03-14 at 17:46

    I have filed a new feature request in the GExperts ticket-list:   #58 List of all uses clause items in the whole project   Please create a GExperts expert to create a merged list of all uses clause items in the whole project without duplicates.   EXAMPLE:   Project1 contains Unit1 and Unit2.   Unit1 interface uses clause contains:  Vcl.Forms, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, System.Actions, System.ImageList, hyieutils;Unit1 implementation uses clause contains:  Vcl.Graphics, Vcl.Controls;Unit2 interface uses clause contains:  Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ActnList, Vcl.ImgList;Unit2 implementation uses clause contains:  hyieutils, iesettings, iexRulers; The list created by the expert would then look like this: Vcl.Forms, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, System.Actions, System.ImageList, Vcl.Graphics, Vcl.Controls, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.ActnList, Vcl.ImgList, hyieutils, iesettings, iexRulers;   Of course, it should be possible to copy the list to the clipboard, save it as text, etc. […]

  • GExperts module to make the Components structure view PERMANENT
    on 2019-03-12 at 11:54

    I have posted this feature request ticket in the GExperts ticket list:   This is an idea for a new GExperts module:   In the Delphi IDE, the content of the Structure panel changes according to whether the code editor or the form design editor is active (which IMO is a legacy hangover from the Delphi stone age when computer monitors generally had the size of a postage stamp, hence the space-saving dual-use of the Structure panel). In my opinion and for me, the Code Explorer items which are visible when the IDE's code editor is active are COMPLETELY USELESS, as the FREE MMX CODE EXPLORER has much better functionality.   So this new GExperts module should optionally hide the Code Explorer items in the Structure panel when the IDE's code editor is active. Instead, the components of the form structure should be PERMANENTLY visible, even when the code editor is active! Having to hit the F12 key while coding in the code editor only for selecting a component in the Structure panel and then viewing/editing properties of this component in the Object Inspector is a useless waste of time! […]

  • Grep search and DFM files
    on 2019-03-10 at 16:44

    I looked into two problems with GExperts Grep and DFM files. While it is possible to fix both, the fixes have side effects:   Grep Search does not find strings in DFM files that are split in multiple lines (#49) Searching for text that gets split in multiple lines can be solved by first joining these lines: object l_Test: TLabel Left = 8 Top = 8 Width = 434 Height = 13 Caption = 'Dies ist die Ueberschrift, und sie ist sehr lang, damit es einen ' + 'Umbruch in der DFM-Datei gibt' end So instead of searching "einen Umbruch" in two lines and not finding it, we join these lines into one and then we will find it. 'Dies ist die '#220'berschrift, und sie ist sehr lang, damit es einen Umbruch in der DFM-Datei gibt' This works fine but breaks the preview in the result window. But that could probably be fixed too. But what about this: object m_memo: TMemo Left = 8 Top = 104 Width = 281 Height = 193 Lines.Strings = ( 'first line' 'second line' 'third line' 'and a ' 'veeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrryyyyyyyyyyyyy' 'yyyyyy long line at the end that should get wrapped.') end There are three lines that are short and then a very long fourth line that gets wrapped into 3 separate lines in the DFM file. I can see no way how this could be detected. I wonder how the Delphi streaming mechanism handles this. (Actually it doesn't. When I load that form, I get a memo with 6 lines. At least in Delphi 2007. And that's a bug.) EDIT: Something apparently went wrong in my first test. I cannot reproduce the problem any more. Now, if I add long lines, the DFM file looks like this: object m_memo: TMemo Left = 8 Top = 104 Width = 281 Height = 193 Lines.Strings = ( 'first line' 'second line' 'third line' 'and a ' + 'veeeeeeeeeeeeerrrrrrrrrrrrrrrrrrrrrrrrrryyyyyyyyyyyyy' + 'yyyyyy […]

  • GExpertsGrep.exe
    on 2019-03-08 at 14:27

    I have posted this feature request ticket in the GExperts ticket list:   GExpertsGrep.exe has a fantastic feature: It can be started on the command line and pass a directory parameter to it. For example, this command line:   "C:\Program Files (x86)\GExperts for RAD Studio 10.3\GExpertsGrep.exe" C:\COMP\_CNScripts   ...opens this GExperts Grep Search window on my computer:     When you double-click on a search result line, then the IDE associated with the respective file type (e.g. .pas) is being automatically opened and the file loaded in the IDE! The only issue is that the respective source code location of the result is not automatically shown in the IDE source code editor. With this issue solved it would be perfect! Also, another feature would be very helpful: If no IDE is opened the respective result file should be loaded into a pre-configured text editor (of course showing the respective result location line and column and select the search term result). […]

  • GExperts fails to load after upgrading Rio from 10.3 to 10.3.1
    on 2019-02-28 at 09:43

    I have just upgraded Rio from 10.3 to 10.3.1 and now I get an exception when Rio is starting. The message is: [Window Title] Fehler [Content] PrivateGXMenuActionManager is not nil upon creation (D:\source\_sourceforge\GExperts\source\framework\GX_MenuActions.pas, Zeile 122). [OK] Followed by an excpeotion from bds: [Window Title] Fehler [Content] Zugriffsverletzung bei Adresse C08B50F7 in Modul 'bds.exe'. Lesen von Adresse C08B50F7. [OK] The installed version of GEXperts is (from GXRS10.3-13C-experimental-twm-2018-12-22.exe)   There is no GExperts menu entry and the shortcuts don't work Some part of GExpert seems to be running, because the "Multiple instances" warning pops up when I start 10.3.1 a second time.   I then tried to disable GExperts using the ExpertManager.exe from the installation folder, but it also throws an exception:   --------------------------- Application Error --------------------------- Exception Exception in module ExpertManager.exe at 0005BC60. Could not load library GExpertsRS103.dll. --------------------------- OK --------------------------- even though GExpertsRS103.dll is in the same folder as ExpertManager   GExperts was installed using my account with local admin privileges. &nbs […]

  • Shortcuts in Grep Results window no longer work?
    on 2019-02-23 at 08:02

    I've been using the GExperts trunk from for quite a long time, and I don't remember since when, the keyboard shortcuts in the Grep Results window no longer works. I most use the F5 (refresh), Ctrl+N (collapse all) and Ctrl + E (expand all)   Edit 1: It's under XE4. […]

  • Access violation maybe from GExperts
    on 2019-02-22 at 14:18

    I can't stress enough, that it's only a hunch, that GExperts might be the culprit here. So, I installed Rio.1 on Wednesday and piled all the nice tools on to it. All seemed well. Now I started to use it more and get this AV every time I end it: Quote --------------------------- Anwendungsfehler --------------------------- Exception EAccessViolation in Modul coreide260.bpl bei 0041861B. Zugriffsverletzung bei Adresse 208C861B in Modul 'coreide260.bpl'. Lesen von Adresse 00000008. --------------------------- OK    ---------------------------   At first I used the expert manager to disable all the other experts, but to no avail. Then I uninstalled GExperts (GXRS10.3-13C-experimental-twm-2018-12-22) and the AV is gone. It might be the mixture of experts, but it is a rather common one (I hope): GExperts CnPack Parnassus Bookmarks and Navigator MMX Explorer DDevExtensions All newest versions as of today.   Could this have anything to do with GExperts? Or should I look somewhere else? […]

  • Two GExperts bugs fixed, 14 to go
    on 2019-02-09 at 16:28

    I just fixed two (newly reported) bugs in GExperts: The Set Tab Order dialog no longer worked in Delphi 6, 7 and 2005. This was due to me adding AlignWithMargins (and the associated Margins property) to the dfm file. This property apparently was introduced in Delphi 2006. Again, this underlines what I mentioned several times: I do not use Delphi < 2007 for anything but testing and fixing bugs GExperts. That’s why glitches like this tend to slip by unnoticed. That’s why I would like people to volunteer for testing the various versions. But apparently nobody can be bothered. Fine by me, but you will have to live with the consequences. I don’t have a QA department. The extensions to the Uses Clause Manager caused several thousand (small) files to be created in the GExperts configuration directory. This directory is located under AppData\roaming\GExperts which means it will be copied when roaming profiles are enabledin a Windows domain. I didn’t know that anybody still uses roaming profiles since they are usually not worth the trouble, but apparently they are still being used. So I now moved that cache to AppData\local and also added a config option to disable caching altogether. […]

  • Bug in latest release on macro templates
    on 2019-01-04 at 11:02

    Hi,   one of the last releases since official 1.38 ( introduces a bug on macro templates (at least on Delphi 10.2.3 Tokyo)   - define a template xyz like this:   %YEAR%-%MONTH%-%DAY%  %PROGRAMMERINITIALS%  | Insert position: cursor position   - create a new unit - on top of it add a new line and type "xyz" and complete it --> The result should be something like '2019-01-04  UK'   - delete the expanded template - next add a comment at top of unit that contains 'ü' character:  // ü - on following line type 'xyz' again and expand it --> Result is now a malformed text: 'x019-01-04  UK'   going back on and everything is fine again.    HTH, Ulric […]

 Posted by on 2018-10-27 at 13:57