Separate cache directories per platform in the Uses Clause Manager in GExperts

The Uses Clause Manager in GExperts has an "Identifier" tab that can be used instead of the Find Unit refactoring of the Delphi IDE (which for me doesn't work most of the time and if it does is very slow). And of course the Uses Clause Manager also works for older Delphi versions which simply … Continue reading Separate cache directories per platform in the Uses Clause Manager in GExperts

Separate lists for VCL and FMX in GExperts Rename Components expert

The Rename Components expert in GExperts now has separate lists for the names and additional properties for VCL and FMX components. Previously it was a hassle to have additional properties shown in the rename dialog if these have different names in VCL vs. FMX e.g. the Caption vs. Text property of TLabel. Now you simply … Continue reading Separate lists for VCL and FMX in GExperts Rename Components expert

GExperts bug: CTRL+V on FMX form designer inserts into secondary editor window

I got a bug report for GExperts and Delphi 10.4 that's really curious: When a secondary editor window is open in the IDE and the FMX form designer is active, trying to insert a component from the clipboard into the form inserts the textual description of that component into the editor windows instead. I could … Continue reading GExperts bug: CTRL+V on FMX form designer inserts into secondary editor window

When sorting a “StringList” is very costly

The following code looks innocuous but slows down a program significantly: [delphi] type TJCHListSortCompare = function(Item1, Item2: Integer): Integer of object; TCheckListBoxWithHints = class(TCheckListBox) private procedure QuickSort(L, R: Integer; SCompare: TJCHListSortCompare); // [...] procedure TCheckListBoxWithHints.QuickSort(L, R: Integer; SCompare: TJCHListSortCompare); var I, J, P: Integer; tmpObj: TObject; tmpStr: string; tmpChecked: Boolean; begin repeat I := L; … Continue reading When sorting a “StringList” is very costly

New Explicit Properties Filter expert in GExperts

I never understood the benefit of writing the ExplicitLeft / Top / Width / Height properties for TControl and descendants, which were added in Delphi 2007, to the dfm files. They store the control's position and size before its Align property was set to something like alClient or alRight, so they can be restored later. … Continue reading New Explicit Properties Filter expert in GExperts