Since the service at SourceForge has declined to a point where it becomes unbearable (Timeouts on SVN commits? Come on!) I will be moving all my projects to OSDN. So far dzLargeTextViewer, dzlib+tools and (today) the Delphi Ide Explorer Expert have been moved.
Category: Delphi
Remote access to the Embarcadero License Center via SSH tunnel
Once you have set up an Embarcadero License Center (ELC) for your company (with network named user or concurrent licenses) you will need network access to it in order to start the Delphi IDE. Usually the server will only be accessible from within your intranet (I for one would not trust the ELC security to … Continue reading Remote access to the Embarcadero License Center via SSH tunnel
TThread is not a normal class
In Delphi, threads have traditionally been implemented as classes descending from TThread. While there have been quite a few improvements to multithreading, TThread is still the most compatible way. But TThread is not a normal class. In a normal class, the constructor and destructor usually look like this: [delphi] constructor TSomeClass.Create; begin inherited; FSomeList := … Continue reading TThread is not a normal class
Specifying the msbuild configuration for a Delphi project on the commandline
Starting with Delphi 2007 EmBorCodera switched to msbuild for the build system. The newly introduced .dproj file used since then is a valid build script for msbuild but unfortunately the format has changed between Delphi 2007 and 2009. This means that there is a difference if you want to make command line builds and specify … Continue reading Specifying the msbuild configuration for a Delphi project on the commandline
GExperts Usage Statistics
Have you ever wondered which functions of GExperts you have used the most? Or how often at all? How much time it has saved you? Now you can find out: I just added Usage Statistics to GExperts which tells you exactly how often you have called each of the experts, in the current session and … Continue reading GExperts Usage Statistics
When an exception is nil in the exception handler
A colleague of mine asked me today, how this could be: Given this exception handler: [delphi] try // some code that calls methods except on e: Exception do LogError(e.Message); end; [/delphi] How could e be nil? (and e.Message result in an Access Violation?) It turned out to be an error in one of the methods … Continue reading When an exception is nil in the exception handler
Fixing the Delphi 10.2.2 February 2018 Patch
UPDATE: The problem was that I was using Delphi 10.2.2 build 1978. Apparently I have missed an update in December 2017 to build 2004. I have downloaded and installed the new version, and now the patch worked fine. I hereby apologize for being stupid, because it clearly says in the description: This patch for RAD … Continue reading Fixing the Delphi 10.2.2 February 2018 Patch
My improved version of IMAPCopy
IMAPcopy is a tool written by Armin Diehl. Its purpose is to copy emails from one IMAP server to another (or from one IMAP account to another) including the folder hierarchy and even the read status. It's a command line program written in Delphi and fpc. Since I am currently migrating a mail server I … Continue reading My improved version of IMAPCopy
Extended = Double in Lazarus Win64
Note to self: In Lazarus Win64 there is no floating point type Extended, it's mapped to Double. So, overloading something like: [delphi] function TryStr2Float(const _s: string; out _flt: Extended; _DecSeparator: Char = '.'): Boolean; overload; function TryStr2Float(const _s: string; out _flt: Double; _DecSeparator: Char = '.'): Boolean; overload; function TryStr2Float(const _s: string; out _flt: Single; … Continue reading Extended = Double in Lazarus Win64
Warning: RAD Studio 10.2.2 Tokyo February 2018 Patch has issues
Embarcadero just released a patch for RAD Studio 10.2.2. I downloaded and installed it, and regretted doing that: It breaks linking projects with runtime packages, like GExperts, any other IDE expert and probably also most component packages. See here for a discussion. I submitted a bug report as RSP-19914.