Home » Software Development
I hate integers!
Did I catch your attention? I guess I did if you are reading this. Just to be clear, I don’t hate integers — I hate using integers (a.k.a. signed numbers) where they don’t make sense. For example let’s…
Read More »DeHL 0.2.3 released
Not many changes in this release: Fixed a bug in BigCardinal related to zero-length numbers BigCardinals embedded in variants now properly negate. Support for the NOT operation for BigCardinal. … As usual some tests. 0.2.3 is based on…
Read More »DeHL 2.2 Released
In this release I have changed the name of the library from DelphiHelperLib to DeHL to be shorter. The most important changes in this release are: Renamed the library to DeHL in hopes to remove the length of…
Read More »How To: Invokable Variants
In this post I will try to explain how to create a “late-bound” dictionary based on invokable variants. Most of the techniques related to the creation of a custom Variant data type are already described in How To:…
Read More »Little warning
If you’re ever going to write a custom invokable variant read the following, otherwise just skip this post. I will not detail on how to create a custom invokable variant type (that is a matter for another post),…
Read More »How to write a good email feedback (for Help)
This post is here to explain how to properly write an email feedback for the Delphi Help system. So often people assume that nobody reads these emails. This leads to emails with little value to us (the Documentation…
Read More »Array constructor
Speaking of features which are sparse in documentation. There is an intersting and a bit useless feature in dynamic arrays laying around: array constructors. Let’s check out this example: This code will actually compile and run. (May probably…
Read More »“in” is dead, long live “CharInSet” (or maybe not)
I’ve this question come up a few times, so … Since Delphi 2009 you have probably noticed this warning: “[DCC Warning] Unit1.pas(27): W1050 WideChar reduced to byte char in set expressions. Consider using ‘CharInSet’ function in ‘SysUtils’ unit.”…
Read More »Parameter checking
One of the worst parts of Delphi’s RTL is the fact that parameters are not being checked for correctness in a function call. What this means is that the offending routine will not function as intended in certain…
Read More »Generics + System.Move = Kaboom!
It’s probably not a news anymore that the Move method (in System unit) should not be used to move chunks of memory that contain references to managed type (like String, Interface of dynamic arrays). By moving only the…
Read More »