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

How to fix the “teEngine not found” compile error

Today I had a very strange compiler error in Delphi 10.2, that occurred on one computer but did not occur on another computer: myUnit.pas(28): error F2613: Unit 'TeEngine' not found. The project was checked out from svn on both computers, so the source code was identical. So the unit "VCLTee.TeEngine" from TeeChart was in a … Continue reading How to fix the “teEngine not found” compile error

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