Wednesday, January 28, 2015

Odds and Ends: Another CodeSite thing and a thought about the 20th birthday of Delphi

I think I forgot to mention a lot of features in my CodeSite review, but there's one that just made me so happy. I actually smiled. While coding. I know eh?

  Imagine this. I'm persisting some complex structure as XML and writing that to the DB. Writing that big mess out to a plain text log file quickly gets you into that "Drinking from the Firehose" mess.  But what if your viewer just showed a quick summary like "Variable = <?xml version .....".  Then you click it, and you can inspect that row "zoomed in", using the Inspector.

Here is a sample:

Now, instead of feeling like I'm drinking from the firehose, I feel like the guy who can pick exactly the rows he wants, and find the items inside he needs.  You really need to try sending giant blobs of text to CodeSite, as ONE CodeSite.Send, and using the Inspector pane, to realize, hey, there is NO reason to use anything else for logging.

It's that good.

I suggest that you have specialized DIFFERENT sets of IFDEFs and use these giant dumps to codesite, only when you need to use them, like this:

   CodeSite.Send( 'LoadSomething',  AXMLString  );

Delphi 20th Birthday Party Coming Up

Hey folks, did you realize that Delphi is going to be 20 in a few weeks?  You know what would be a good idea to celebrate? Find your local Delphi user group or meet-up, and join them for a beverage, at some point in February 2015.  I plan to do just that in Toronto.

Update:  Register now for Delphi Week 2015!


  1. We are going to celebrate in the week from Feb 8th to 13th, as the original launch date was the 14th. Details coming out soon.

  2. Good stuff. To think we've gone from a 16 bit, to a 32 bit, to a 32+64 bit, and then to multi-platform, and that most of those huge leaps have been recent ones, (XE2 and later), I think we have a lot to celebrate.

  3. This reminded me of a couple of things.

    1) If you're dealing with XML data, you can use SendXmlData. The CodeSite viewer will give you a couple of different viewers (syntax and structure).

    2) If you're logging database information, look at cmsDataSetRecord and cmsDataSet in CodeSiteDBTools, which will let you log the current record or an entire dataset. You might not want to use it in performance sensitive code, though. :)