GExperts is always compiled with the latest update of any of the supported Delphi versions. That unfortunately means that it may not work if the IDE hasn't been updated to the latest version. E.g. The latest GExperts release will not work with Delphi 10.2, but only with Delphi 10.2.3, the latest update to Delphi 10.2. … Continue reading GExperts and older / unpatched Delphi IDEs
Author: dummzeuch
Adding a Windows 10 computer to a Samba (NT4) domain
Microsoft is trying to force everybody to update from the old NT4 domain system to the "new" (as in "was new >10 years ago") Active Directory system. While that's probably a good idea for most people there are some like me stuck with a working Samba installation that for some reason needs to continue to … Continue reading Adding a Windows 10 computer to a Samba (NT4) domain
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
dzBdsLauncher 1.0.6 released
I just released dzBdsLauncher 1.0.6. The only change is support for detecting .dproj files created by Delphi 10.4.2 (these have a ProjectVersion of 19.2).
Windows 10 unidentified networks
Starting with Windows Vista Microsoft has started to take security really serious. That's a good thing. Unfortunately in typically Microsoft attitude they think they always know best and that the user is an idiot, so it's best to keep anything dangerous from him. Fast forward to Windows 10 and the issue at hand: Windows 10 … Continue reading Windows 10 unidentified networks
GExperts 1.3.18 experimental twm 2021-02-21 released
COVID-19 got us all down a bit and even with the vaccines theoretically available now, the light at the end of the tunnel seems very far away. My own turn for a jab will probably not come before fall 2021, so I can only hope that summer will reduce the infection rates as much as … Continue reading GExperts 1.3.18 experimental twm 2021-02-21 released
Allow svn:author to be changed for a subversion repository
Note to self: In order to allow changes to the author of an svn commit, the pre-revprop-change hook of the repository must be changed like this: Insert the line [bash] if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:author" ]; then exit 0; fi [/bash] just below the existing, similar line that allows changing svn:log. … Continue reading Allow svn:author to be changed for a subversion repository
How to use JumpFolder to create multiple “start menus”
Even after Microsoft abandoned the stupid idea of the Windows 8 start screen and gave us back the start menu in Windows 10 there is still a lot to desire. Of course you can replace the the start menu with a tool like Open Shell (formerly known as Classic Shell) which improves it quite a … Continue reading How to use JumpFolder to create multiple “start menus”
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