Home » Software Development

How To: Creating a custom Variant type

In this post I will detail on how to create a custom Variant for your data type. First of all, the help should be pretty useful in this case, but it if doesn’t help much, there is always…

Read More »

[Rant] Actions …

Just a few words out of frustration: Do yourselves a favor and stay away from actions and ribbons in Delphi. At least for a while. If you really need fancy looking menus use JEDI. P.S. This would be…

Read More »

TDelegatedEqualityComparer

In this post I will try to exemplify the use of TDelegatedEqualityComparer class which can be found in Generics.Defaults unit in Delphi 2009. TDelegatedEqualityComparer is a simple class that requires two user provided routines at creation time. These…

Read More »

Avoid using TDictionary

There are serious flaws in TDictionary in Delphi 2009. Try to avoid using it until a fixed version comes out. You can find a list of them in QC, but just to name two: TDictionary.Clear() is flawed. If…

Read More »

Version 0.2.1 of HelperLib

Just released the “fix” version for HelperLib: 0.2.1. Major highlights: Improved the performance for IntToStr functions for “big numbers”. (From 25 minutes to 17 seconds for a 256^10000 number). A BCD-izer algorithm was used to create a BCD…

Read More »

HelperLib 0.2 released!

I have finally released the version 0.2 of the HelperLib library. If you’ are interested in using generics in your Delphi 2009 applications, you might actually be interested in taking a look at the library. What can you…

Read More »

Forcing RTTI on record types

While developing the “Type Support” module for the generics library I’m working on I’ve encountered a little problem – the compiler will not emit RTTI information for the records. Actually that isn’t entirely true – RTTI will be…

Read More »

Pointer to String casts

This post describes how to avoid a recent mistake I’ve seen in a Delphi application related to “Pointer to String” casting. Consider the following example: In this example an untyped pointer was allocated with 128 bytes of memory,…

Read More »

Delphi Prism: DelphiString

Was just reading the source code for ShineOn (the RTL implementation in Delphi Prism) and found an interesting piece: DelphiString (in /ShineOn.RTL/DelphiString.pas). What is it? It is a class that tries to replicate the behavior of the Win32…

Read More »

Delphi and the Integer data types

There’s a lot of discussions on CodeGear newsgroups lately regarding the Integer data types and 64 bit support. Just wanted to clarify some points for people waiting for the 64 bit release of RAD Studio (due somewhere in…

Read More »