Thanks to this article by Raymond Chen we can read what garbage collection really is and (perhaps even more valuable) what it is not.
I don’t want to start a new flame war about garbage collection (and even when – hey, this is my blog!), but I for myself I’m glad that Delphi doesn’t offer such a feature. We are always tempted, aren’t we?
Not that I don’t have any memory leaks in my programs. Not that I don’t use memory already freed. But with the right tools you can actually spot those errors and solve them. Doing so I often find some other error lurking in my code, just waiting to pop up like a jack-in-the-box. If there were no more such leak hunting, I would know less about my code than I do now.
Delphi doesn’t lack garbage collection – Delphi doesn’t need one.
From Part 1:
take an enumerator, mix it with a class helper and pour it over an invokeable custom variant
There it is again. What is he just talking about?
Well, it took me a while to find that thing, as it isn’t mentioned very often. But it turned out to be exactly what I needed. So I dived into the sources and figured out what TInvokeableCustomVariant is all about and how to use it. And even the help was in this case, um, helpful: RAD Studio Help
Continue reading “A Magical Gathering – Part 2”
Sometimes combining different programming techniques reveals the hidden beauty of a programming language.
A few years ago I was able to create such a thing with some older and newer language features. The outcome revealed some kind of magic that really amazed myself.
The recipe is pretty simple: take an enumerator, mix it with a class helper and pour it over an invokeable custom variant.
Continue reading “A Magical Gathering – Part 1”