Posts

Freezing this blog

Image
It's becoming a bit of a pain maintaining this blog just for CodeSnip and the Code Snippets Collection while also running the more general DelphiDabbler blog. Given this blog has a much smaller readership than the DelphiDabbler blog I've been cross posting CodeSnip news on that blog for quite some time now. So, in future, I'm going to post CodeSnip related news to the other blog and will cease using this one. For a time I will probably do a stub post here linking to any relevant new posts on the main blog. Eventually I'll freeze this blog completely. This blog will remain up, partly because CodeSnip has a help menu item that links to it. That may change in future CodeSnip releases. Should anyone have just cause or impediment as to why I really shouldn't do this, please tell me in the comments.

CodeSnip v4.25.0 released (including a fix for a fix of a fix)

Image
It's nice to be able to release a version of CodeSnip containing new features instead of bug fixes. Except that this release also includes bug fixes, including episode 3 of the hibernation bug fix saga. So what's new? Not a lot except for some new snippet export options: For the longest time you've been able to get a copy on the clipboard all the information about a snippet that gets displayed in the detail pane. Now you can finally save the information directly to a file. The only option is Rich Text Format just now, but more formats may make an appearance later. When exporting Pascal units and annotated snippet source code various formats can be chosen. HTML 5 format export files has now joined the list or plain text, Pascal, RTF and XHTML Some annoying, but relatively trivial bugs have also been fixed. Go see the change log if you're curious. But I can't close this post without mentioning the hibernation bug fix saga. A third fix of the bug where CodeSnip someti...

Persistent bug in CodeSnip re-squashed, properly this time?

Image
It had to happen didn't it? Not long after my post about yesterday's bug fix release of CodeSnip, Oliver reached out to point out a potential problem with the way I'd implemented it. See the linked post and comments if you're interested in the details. Suffice to say that the problem was sufficient for me to hunt for an alternative solution. Having found one I've rushed out hotfix v4.24.2 to patch yesterday's release (v4.24.1) and make it more robust. Whether or not you downloaded yesterday's you really should update CodeSnip to the hotfix release. ⮞  Get hotfix release v4.24.2 from GitHub . The fix involves a dirty hack of which I'm deeply ashamed, but it works. To be up-front about how horrible this hack is I've liberally sprinkled comments that include the text "!! HACK" in the code. Also, any new methods and fields that implement the hack have names prefixed with  _HACK_ . I need to get this patch out, so don't have time to explai...

Persistent bug in CodeSnip squashed at long last [I hope]

Image
What a red letter day. 🎆🎇🌠 For several years a nasty access violation bug has been lurking inside CodeSnip . It crashed the program when the computer was resumed from hibernation, but only sometimes. Because the bug was intermittent and required numerous hibernation / resume cycles to be run before it finally cropped up it defied diagnosis for a long, long time. Until now. Or up until someone finds my fix doesn't work for them! The bug fix release is v4.24.1 - get it from GitHub . Read on if you're interested what the problem turned out to be . CodeSnip uses a custom drawn tree view control to display the available snippets, grouped under headings. A custom TTreeNode class is used that has an extra property that references an object instance that provides extra information about the item been displayed. This information is used by the custom drawing code. The problem is that, occasionally, when waking from hibernation, Windows destroys and recreates the window handle of the...

Code Snippets Collection v2.2.3 released

Image
Version 2.2.3 of my Pascal  code snippets collection  has just been released.  Unlike the previous bumper release, this one adds compilation results with Delphi 12 for all snippets that hadn't been tested with that compiler, which was most of them. It also fixes a couple of bugs, so I recommend updating to this release. For details of the bug fixes, see the  change log . If you are using  CodeSnip  v4.16 or later then you can update your snippets collection by using the  Database | Install or Update DelphiDabbler Snippets Database  menu option and following the instructions in the resulting wizard. ➤ You can find the new release on   GitHub .

Code Snippets Collection v2.2.2 released

Image
Version 2.2.2 of my Pascal code snippets collection has just been released.  Don't let the patch version number bump fool you. There are a lot of new snippets in this release. In fact, it's the first time in years that so many new snippets have been added. Nearly all the new snippets are mathematical. A few snippets were added to the Arrays category, but most got grouped into the Mathematics category. Some snippets relate to number theory while others work with numbers in different bases. However the majority relate to statistics, including functions to calculate Arithmetic, Geometric, Harmonic, Logarithmic and Power means. I'm not going to list them all here, that would be tedious. See the change log for a full list of the new functions & other changes. A couple of existing snippets have been modified, in one case to fix a bug.  Unit tests have been added for every new snippet and for one existing snippet. All the new snippets compile without problem with Delphi XE...