Drawing this subject to a close (finally!), here’s the concluding post I promised, including the fully documented and finished implementation that has been serving me well for almost 2 years. The finished implementation incorporates a number of refinements to the core framework, and those are what we shall briefly look at in this final post.
So far we’ve seen a multicast event implementation in (fairly limited) action, and dissected the core of it’s implementation, which was a fairly dry affair. I also demonstrated a flaw in the initial implementation – a susceptibility to objects adding handlers to events but not removing them when being destroyed. Before the .NET crowd get all smug, we should note that the relationship between an event source and it’s listeners is potentially problematic, in .NET also. Fortunately I devised a solution to the problem in my framework. The solution – rather neatly – was itself provided by a multicast event.
At the end of my last post I described a problem that arises if an object adds handlers to an event and is then destroyed without having removed those handlers. This video demonstrates that problem and also shows a solution provided by the multicast events framework itself.
Having covered some of the basic use of multicast events, in this second post I shall start to build the implementation. In this first iteration we will provide the basics of a multicast event – managing and calling multiple handlers and the ability to enable and disable an event. The test project used in the previous video demonstration may also now be downloaded for you to experiment with if you wish.
My second post on multicast events is now up, and here’s a video showing the basics. It was also an excuse to get to grips with the video capturing software – CamStudio – (and technique!), which proved to be a frustrating exercise to say the least, but I am quite pleased with the eventual results and plan to do more in the future.
The first two canned videos from last weeks preview of Tiburon have appeared on the CDN site. Of the two, one covers some new language features in C++ Builder, but the one of most interest to Delphi developers I think is the one that demonstrates some of the VCL improvements and changes. See if you can spot Nick Hodge’s deliberate mistake. At least, I hope it was deliberate. 😉 More videos and sessions should be coming online soon.
Explores the relevance of authorities supposed to be making a good case for anonymous methods