Embarcadero has released Delphi 12.1 and at the same time opened their new Quality Portal. I have now spent more than an hour reproducing, documenting and reporting several long-standing bugs, some of which have been around since Delphi 11. Here are the links to my bug reports, if anyone wants to take a look (voting … Continue reading New Embarcadero Quality portal – new hope
Category: Delphi
Universal Debug Visualizer for Delphi
As mentioned in my previous post on dzDebugVisualizer I was thinking about writing a generalized debug visualizer which can be user-configured to register itself for any data type. Well, that debug visualizer now exists. It's part of dzDebugVisualizer and called "Universal Visualizer for Delphi". It has got a configuration page in the Tools -> Options … Continue reading Universal Debug Visualizer for Delphi
Simplified Debug Visualizers for all my TNullableTypes
After playing around with debug visualizers, I found that there is a very simple way to provide a visualiser for many record types: Just add a special method (I called it Dump) to those records that returns a string that you can then evaluate in the debugger and display in the debug windows. There are … Continue reading Simplified Debug Visualizers for all my TNullableTypes
Getting the current line number in Delphi
Note to self: There is an easy way to get the current line number in Delphi, using the following function and JclDebug: [delphi] function GetCurrentLineNumber: Integer; var ModInfo: TJclLocationInfo; begin ModInfo := GetLocationInfo(ReturnAddress); Result := ModInfo.LineNumber; end; [/delphi] ReturnAddress is a compiler magic function in the system unit, introduced with Delphi XE2. TJclLocationInfo and GetLocationInfo … Continue reading Getting the current line number in Delphi
In recent Delphi you cannot rely on dividing by zero to raise an exception
This is mostly a note to self: Having been stuck with Delphi 2007 for many years I didn't notice that dividing floating point values by zero no longer raises an exception in recent Delphi versions. Apparently this changed around the time of Delphi 10.1, even though I found a blog post by Dalija Prasnikar saying … Continue reading In recent Delphi you cannot rely on dividing by zero to raise an exception
Debug visualizers for my TNullable types
My dzlib contains several nullable data types which internally use an interface field to maintain the IsValid value as originally suggested by Alan Bauer in a post on his long defunct Codegear blog "The Oracle at Delphi" (links to the Internet Archive). Today I added debug vizualizers for these types to my dzDebugVisualizer package. Rather … Continue reading Debug visualizers for my TNullable types
(Multi line) string Debug Visualizer for Delphi 10.2
The (multi-line) string Debug Visualizer previously available for Delphi 2005 to 2007 is now also implemented for Delphi 10.2 using the OTAPI interface. It shows the content of a string without quotes and with line breaks if it contains any. The implementation was much more complex than I thought. Originally I just used a simple … Continue reading (Multi line) string Debug Visualizer for Delphi 10.2
TColor debug visualizer for Delphi 10.2 and 12
I just extended my dzDebugVisualizer package to include a TColor debug visualizer for Delphi 10.2 and Delphi 12. With little change these will probably work for every Delphi Version that supports the neccessary ToolsApi functions, meaning >= Delphi 2010. This is completely different code than I used before, but it still shows the color name(s) … Continue reading TColor debug visualizer for Delphi 10.2 and 12
GExperts Editor Enhancement tab
I forgot to mention, that in the lastest GExperts Beta release for Delphi 12, the configuration tab for the Editor enhancement has been moved to a separate "Editor Enhancement" expert.
GExperts 1.3.24 Beta1 for Delphi 12
I have just built an installer for GExperts 1.3.24 Beta1 for Delphi 12. Note the word “Beta” in the release name! We are one step up from Alpha, there are still many bugs, but overall it seems to be stable. Most of the bugs manifest themselves as display glitches on high DPI monitors. If you … Continue reading GExperts 1.3.24 Beta1 for Delphi 12