Microsoft .NET Delphi Prism C++ Builder Delphi

User Group Talks

This page lists all the talks Brian has made for User Groups.

These talks have been delivered at meetings of The UK Developers Group - previously known as or incorporating UK Borland User Group (UK BUG), DotNET Developers Group (DDG), The Developers Group (DG) - and Software Developers of the Netherlands (SDN).

Some of the UK-BUG talks herald from the days when the user group was split into the Delphi Developers Group and the C++Builder Developers Group (the latter of which he was the Group Leader for). Brian is currently the Group Leader for the DG.

As well as the specific talks, Brian also helps out with the Problem Clinic session at any meeting he attends, trying to solve any problems experienced by the group members.

Click here to see some comments by people who have attended some of my talks.

If you enjoyed one of Brian's talks please consider making a donation. It will be appreciated however big or small it might be and will encourage Brian to continue researching, writing and speaking about interesting topics in the future.


Actions, Action Lists And Action Managers, October 14th, 2019, Green Man, Euston, London. (DG meeting)
For those who never received the memo about Delphi's action components this session brings you up to speed and shows you what you have been missing and what they can do for you. Since 1998.

Home-grown REST Server, March 11th, 2019, Green Man, Euston, London. (DG meeting)
With Nick Gabb
Put off by the dizzying fees EMBT charge for RAD server licensing I decided to "grow my own" system to suit the needs that I'd considered RAD Server for. After some brain-storming, chewing the cud and generally putting the world to rights an idea gestated that we thought just might cover all the required bases. A general purpose minimalist REST server implemented in C#, which defers all requests to a Delphi DLL using a simple parameterised control mechanism, resulting in flexibility and performance. This session looks in more detail at the requirements and the implementation.

Creative debugging techniques - part 2, November 12th, 2018, Prince Albert, Camden, London. (DG meeting)
The second part of a two-part talk on interesting debugging techniques to assist in resolving all sorts of tricky bug scenarios. Warning: this session may contain the CPU window!

Custom Browser Search Engine Shortcuts, April 16th, 2018, Prince Albert, Camden, London. (DG meeting)
This is a short nugget to demonstrate how Chrome and Firefox can set up keyword driven searches, e.g. for efficient searching through Delphi online help or locating a topic on Stack Overflow

Creative debugging techniques - part 1, January 15th, 2018, Prince Albert, Camden, London. (DG meeting)
The first part of a two-part talk on interesting debugging techniques to assist in resolving all sorts of tricky bug scenarios. Warning: this session may contain the CPU window!

IDE productivity tips, September 11th, 2017, Southwark Playhouse, London. (DG meeting)
Some thoughts and ideasa on how to get the best out of the IDE in the least time.

Going back to Linux, May 15th, 2017, The Lockhouse London, Paddington, London. (DG meeting)
The latest release of Delphi (10.2) adds Linux Server as a target platform.
It’s been a long time since Kylix, so we’ll have a recap and remind ourselves how to do a few simple tasks from the Linux command-line and see what Delphi can do in terms of generating applications on this new target platform.

Accessing custom barcode scanner hardware from a Delphi Android app, October 17th, 2016, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
This session looks at how a single interface was developed to talk to a couple of entirely different hardware barcode scanners as well as some barcode scanning software, and looks at how successive versions of Delphi have helped make the job simpler.

Subversion: redux, June 13th, 2016, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
Subversion: not as fashionable as git, but still very capable for SOHO/distributed teams.
This session takes another look at Subversion from the eyes of a Delphi developer, seeing how to set up and use it through the life of a project. We look at how it resolves certain common single user and multi-user development problems and how it offers strong benefits over "floppy-net".

Code Templates, November 16th, 2015, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
We look at what Code Templates are and how they morphed into Live Templates. We see how to set up a new live template, and in what ways it tries its level best to be a productivity boost for Delphi and C++Builder coders.

Version control with Subversion, July 20th, 2015, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
Version control isn't just for teams of cooperative programmers in large software houses. There are many benefits from employing version control even if you're working on a project alone. Brian looks at what the point of it all is and tries to get you on side with version control systems in general. Subversion is Brian's VCS of choice so that will be what is used to show the ins and outs of it, but Subversion is just one of many options, and is certainly not the most fashionable VCS du jour. It does, however, do what it needs to do, which is why it has lasted so well. Maybe through discussion we will illuminate the group as to what additional benefits the current popular choices offer.

Android and Speech Technology, July 20th, 2015, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
The last time we saw Brian talking about Delphi and Android, we brushed on the subject of TTS (text-to-speech). We'll follow this through and also look at how SR (speech recognition) works on the Android platform. That is, if Brian can work through the platform API vagaries and get it all working in time!

Talking to Android in Delphi XE7, April 20th, 2015, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
Following on from the January DG session this time we look at how to invoke some Text-To-Speech behaviour on an Android device.

Discussion: XE7 improvements for Android development, January 19th, 2015, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
Brian builds an Android app using Delphi XE7, reaching out to the Android infrastructure with a smidgen of Java code. We see how this is now easier than with previous versions.

A Quick Tour of Delphi XE7, November 19th, 2014, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
An haphazard tour through some of the more interesting (to me) features in the most recent of the recent releases of Delphi.
Grammar issues at the start of the sentence? I couldn't care fewer!

Non-Obvious Debugging Techniques, September 15th, 2014, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
We all have to debug applications, and there are many common techniques available to help things along. This session reveals a number of techniques that can be useful to aid the debugging task, but which are not of a particularly obvious nature.

Delphi XE6 Overview, May 12th, 2014, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
Now that Delphi XE6 has been unleashed upon us this session takes the opportunity to run a quick tour through what’s new and what’s different. Brian demonstrates some bits, based on hardware and connectivity availability on the day, but we’ll have a thorough enumeration of what is there to consider in the newest update and discuss whether it offers value for money.

Mobile Development with Delphi - Brian Long & Heath Robinson*, February 17th, 2014, Theodore Bullfrog pub, Charing Cross, London. (DG meeting)
This whole meeting is dedicated to looking at Embarcadero’s mobile development offerings and seeing how they work and what we can do with them. This is the current agenda, which may fluctuate, morph and mutate here and there before the day, and is certainly subject to manipulation at the meeting itself:

* Heath Robinson (1872-1944) won’t be there in person [Ed].

Native iOS and OS X Development for Delphi programmers: Oxygene for Cocoa, June 17th, 2013, Sybase, Maidenhead. (DG meeting)
RemObjects have now added a third flavour of their Delphi-like Oxygene compiler to their repertoire. As well as targeting all things .NET (including Windows Phone) and Java (including Android), they now support all things OS X and iOS (so that's iPad, iPhone and iPod Touch) with Oxygene for Cocoa. In this session we'll take a look at what the shipping product can do and see how we build Mac and iDevice apps using the platform-native APIs and generating native executables (Intel OS X apps and ARM iOS apps).

Native iOS and OS X Development for Delphi programmers: Project 'Nougat', November 19th, 2012, Sybase, Maidenhead. (DG meeting)
Brian introduces you to Project 'Nougat' from RemObjects, which offers a Delphi-like language and builds native applications for iOS and also Mac OS X. No wrappers. No layers. No new language to learn. Using the published APIs and generating native applications. 'Nougat' is currently in beta and due in the first half of 2013.

Windows 8 for Users (not Programmers), November 19th, 2012, Sybase, Maidenhead. (DG meeting)
Windows 8 has been available to everyone for a couple of weeks and to techies for a few months. In case you haven't yet seen it, this short session gives a run through how things have changed, considers the fashionable criticisms and looks at how it can be best used.

IDE Tips & Tricks, July 16th, 2012, Sybase, Maidenhead. (DG meeting)
Brian gives a run-through of a variety of time-saving Delphi IDE shortcuts and lesser known product features to help give your Delphi programming productivity a boost. Feel free to chip in with any of your favourite features as the session goes on.
This talk has been written up here.

Case study: building a commercial Android app with Oxygene for Java (née Project "Cooper"), January 9th, 2012, Sybase, Maidenhead. (DG meeting)
This session looks at what was involved in building the first commercial Android application with Oxygene for Java. We look at the goal, the finished app, technical aspects of the code and walls that were hit during the development cycle.

Oxygene for Java - an update on Project "Cooper", September 12th, 2011, Sybase, Maidenhead. (DG meeting)
Brian will show the current state of play with the upcoming Pascal-based native Java/Android development tool, looking at its integration within Visual Studio, debugging support and doubtless showing some aspects of Android application development.

Project "Cooper" Brings Native Android Programming to Delphi Developers, June 17th, 2011, Zeist, The Netherlands. (SDN meeting)
RemObjects, the folks behind the Oxygene compiler that powers Delphi Prism for .NET, are working hard on Project Cooper. This is the same Oxygene language with the same Delphi-like syntax and same blinding speed, but targeting the Java platform. This session looks at how Cooper is coming along, tries to position it in among the other related products, and shows how it can be used to build native applications for Android devices and also for the general Java platform.

Programming for Android with Delphi Prism and Mono for Android, June 17th, 2011, Zeist, The Netherlands. (SDN meeting)
Traditional development for Android devices requires you to learn the Java programming language, the Eclipse IDE, and the Android class library, including the basic Java utility classes.
Mono for Android places a subset of the Mono platform on the Android device and provides a toolset that allows you to make use of your knowledge of .NET and its BCL (Base Class Library) to develop Android applications using a programming language you already know, such as Delphi Prism, from within a familiar development environment, Visual Studio.
This session looks at building Android applications using Mono for Android and Delphi Prism, showing the steps involved to create various types of applications.

Project Cooper Brings Native Android Programming to Delphi Developers, June 14th, 2011, London. (DG meeting)
RemObjects, the folks behind the Oxygene compiler that powers Delphi Prism for .NET, are working hard on Project Cooper. This is the same Oxygene language with the same Delphi-like syntax and same blinding speed, but targeting the Java platform. This session looks at how Cooper is coming along, tries to position it in among the other related products, and shows how it can be used to build native applications for Android devices and also for the general Java platform.

Building a timesheet application in Mono for Android, April 6th, 2011, EMC, London. (DG meeting)
This talk was part of the Battle of the Mobiles day, and looked at how an Android timesheet logging application could be built up using C# in Visual Studio with Mono for Android. As well as an overview of Android application basics this session covered various Android development techniques from shared preferences to progress dialogs to background processing to themes to SQLite usage and many other areas.
You can download the files that accompany this talk.

What’s New In Delphi, September 20th, 2010, Sybase, Maidenhead. (DG meeting)
Now that Delphi 2011, er, I mean Delphi XE, has been released, it’s time to shake it up and see what new features fall out. However, taking into account that a number of users are still on slightly aged versions of the product, we’ll also give a tip of the hat to new features in recent versions as well. This will be an informal and (hopefully) interactive session so relax, partake and participate if you can.
You can see the slides that accompany this talk.

Delphi & .NET and the Mac, February 15th, 2010, Microsoft, Reading. (DG meeting)
Here we look at how you can get into Mac development using the familiar language of Delphi. This requires the use of Delphi Prism as well as Mono but facilitates Mac development from the comfort of Visual Studio, an ideal way of dipping your toe in the crossplatform waters (assuming you have a Mac handy, that is).

Stuff I Now Know About SQL Server, September 21st, 2009, Microsoft, Reading. (DG meeting)
As some of you know, my exposure to databases was rather limited over the years by my avoiding them like the plague at all costs wherever possible. They didn’t tickle my fancy in the training/troubleshooting rôle I used to have. Having moved to the dark side now, I find them more approachable. Recently I went on a course to learn all about the wonders of SQL Server and picked up loads of new knowledge on the matter. I daresay a lot of it is common knowledge to those of you who use SQL Server, and indeed other databases, on a regular basis, but I’d like to think I can impart a few titbits to anybody who comes along to this session.
You can download the files that accompany this talk.

Debugging, July 17th, 2007, Hammersmith, London. (DG meeting)
Practical tips and tricks on how to improve your debugging skills, with much reference to Delphi. Brian starts with some of the more fundamental and familiar methods and moves onto what may well be unfamiliar ground to you. Brian has spoken on this subject many times and you’ll find details of his work, for example the masterclass he conducted for us a couple of years ago, on his web site. If there are any specific areas on which you’d like Brian to concentrate, please let us know beforehand or make your needs known on the day.

.NET Debugging Without Visual Studio, July 12th, 2006, The Bristol Golf Club, Almondsbury, Bristol. (VBUG meeting)
Visual Studio's debugger does a fine job of day to day debugging. But from time to time you bump into really tricky problems that it can't help with. This is where lower level debuggers come in, and Microsoft make a variety of them readily available. This session looks at a number of low level debugging tools, focusing on WinDbg and SOS, that can help you squash the most resilient bugs and get back on with your day to day coding. We look at several common problem areas and see how these tools can be applied to help gain insights on the problems and expedite solutions.
You can download the files that accompany this talk.

C# for Delphi Developers, June 12th, 2006, Microsoft, Reading. (DG meeting)
In this first session of the series, covering C# from the ground up, Brian explains what it is and why it might be a very good idea for you to learn at least the rudiments of C#.

Delphi 2005/6 Stuff You May Not Know About, May 9th, 2006, Hammersmith, London. (DG meeting)
Brian delves into the lesser used parts of the Delphi 200x IDEs and sees what gems he can unearth. Just so you know, he finds some pretty useful things for both Delphi for .NET and Win32 Delphi developers, in Delphi 2005 and 2006. As an example, live templates in the most recent release certainly warrant some attention.

Visual Studio 2005, Nov 15th, 2005, Hammersmith, London. (DG meeting)
Visual Studio 2005 has just been launched and Brian takes us on a tour of what’s new and interesting in the release we’ve been anxiously waiting for. We look at Visual Studio 2005 and also .NET and SQL Server 2005 in a session that celebrates the recent launch.

Reverse Engineering To Know .NET Better, Oct 22nd, 2005, Microsoft, Reading. (DeveloperDeveloperDeveloper 2)
Learning a programming platform is always an uphill struggle. With .NET there is no lack of help, information and support and around and so this in itself makes the job easier. But there are some who say that the better you know how something works on the inside, the better you can make it work from the outside (the reverse of the implementation hiding principle). This session looks at various tools and resources to find how we can learn more about how .NET works on the inside to try and provide a better understanding of what you work with.
You can read up on this session here.

Delving into the Windows Registry, May 16th, 2005, Microsoft, Reading. (DG meeting)
Members have asked a variety of questions about the Windows registration database (aka the registry). "How do I use it?" "Are there any rules we need to know?" "What can we find in the registry?" "Is it just a glorified INI file?" And so on. This session hopes to answer these questions, and who knows, perhaps many more as well.

.NET Debugging Facilities, May 14th, 2005, Microsoft, Reading. (DeveloperDeveloperDeveloper)
Debugging is a necessity. Sometimes an IDE-resident debugger doesn't have what it takes to track a problem down.
There are a variety of other debugging tools available from Microsoft that can come to the rescue in these circumstances and in this session we take a look at what’s available and how you can use these tools to improve your debugging prowess.
Coverage will include Visual Studio’s debugger as well as CorDbg, DbgCLR, MDbg, but focus mostly on WinDbg with Son of Strike, and will look at Heisenbugs, memory tracking, and lower level trickery.
You can download the files that accompany this talk.

Malware Creators Are Quite Clever Y’Know, February 28th, 2005, Hammersmith, London. (DG meeting)
A customer recently had some nasty active software on a live web server, right under his nose. But could he see it? Could you? After successfully cleaning up the mess Brian has been actively researching malicious software and mechanisms to enable successful removal. In this short session Brian discusses what these things get up to and does his level best to make you nervous.

An Introduction to ASP.NET Web Application Development in Delphi 8, May 12th, 2004, Marlow. (DDG meeting)
This session looks at using ASP.NET from the position of a newcomer to .NET Web development and finds a welcoming component-based, event-driven development model beckoning you in.

Debugging in .NET, June 17th, 2004, Microsoft, Reading. (DDG meeting)
Brian looks at the available options for debugging in .NET, and finds that there is rather more available than just the IDE debugger.

.NET Internals: Profiling .NET Applications, November 27th, 2003, Hammersmith, London. (DDG meeting)
In this session we look inside .NET applications using the Profiling API to see the rich volume of information made available, which allows you to build flowtrace analysers, hotspot identifiers, exception recorders, coverage analsis tools and so on.
You can download the files that accompany this talk.

.NET Language Interoperability, June 26th, 2003, Hammersmith, London. (DDG meeting)
.NET is a language-agnostic programming platform, where developers can all write collaborative code in whatever language they favour. This session proves the point by demonstrating language interoperability between various languages, such as C#, Delphi for .NET, VB.NET, Managed C++ and CIL.
You can download the slideshow that accompanies this talk.

Inside .NET, May 20th, 2003, Upavon, Wiltshire. (UK BUG meeting)
There is a lot of information on how to get results in the new .NET platform. In this session, Brian peers beneath the surface to see how things work inside. Sometimes this technique can provide useful information. Sometimes it ends up providing nothing of use. Let's see what Brian has managed to dig up so far and wants to share with us.

Subjectively Useful Information Resources, April 3rd, 2003, Microsoft, Reading. (DDG meeting)
Brian has been getting to grips with the .NET programming platform over the last 6 months or so. In this session he goes through various sources of information that have helped him become familiar with some of its underlying behaviour.
You can download the slideshow that accompanies this talk.

Digging Deeper Into .NET, February 11th, 2003, POSK, Hammersmith, London. (DDG meeting)
This session dives down deeper, than an overview looking at how the .NET platform actually works. We look at the concepts involved, the key areas of the platform, and start to unravel the world of alphabetti-spaghetti that is .NET. There are many new terms introduced with .NET and we try and get an understanding of as many of them as possible in the allotted time.
You can download the files that accompany this talk.

.NET Interoperability With Win32, January 14th, 2003, POSK, Hammersmith, London. (UK BUG meeting)
Whilst .NET may be the upcoming platform of the future, right now there is still a lot of plain, unmanaged Win32 code around. This session looks at how .NET managed code can interoperate with unmanaged Win32 code. In particular we will look at:

You can download the files that accompany this talk.

Speech Synthesis And Speech Recognition, September 6th, 2002, Ede, Holland. (SDN meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites to Delphi applications using the Microsoft Speech API.
You can download the files that accompany this talk.

Things They Don't Tell You On A Training Course, September 6th, 2002, Ede, Holland. (SDN meeting)
This is a fast-paced array of tips and tricks to help you get the most out of the Delphi IDE. The talk also largely applies to Kylix and C++Builder.

Speech Synthesis And Speech Recognition, August 20th, 2002, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at how to add speech synthesis and speech recognition capabilites to Delphi applications using the Microsoft Speech API.
You can download the files that accompany this talk.

Run-Time Type Information (RTTI) In Delphi - Can It Do Anything For You?, October 26th, 2001, Cambridge. (UK BUG meeting)
RTTI exists in all C++Builder VCL applications, primarily to allow the application to function at all. It is used to load form files and create the initial representation of each form, as set at design-time. It is also used extensively by the design-time environment to allow the Object Inspector to operate. This talk looks at what information is stored in RTTI, how we access it and why we might want to do so.

Conditional Compilation, August 14th, 2001, POSK, Hammersmith, London. (UK BUG meeting)
Underused, misrepresented as an aset only to propellor-heads, Conditional Compilation is usable by all, as we find out in this talk.
This talk is the basis of my Conditional Compilation article in Issues 80 (April 2002) of The Delphi Magazine.

Hints and Tips, July 17th, 2001, POSK, Hammersmith, London. (UK BUG meeting)
This is a fast-paced array of tips and tricks to help you get the most out of Delphi (both the IDE and the underlying language). The talk also largely applies to Kylix and C++Builder.

Apache Shared Modules, May 22nd, 2001, POSK, Hammersmith, London. (UK BUG meeting)
Kylix 1.0 allows ObjectPascal developers write Web server applications for the Linux Apache Web server. These can either be CGI applications or shared modules. However, Apache is nopt set up to permit the use of shared modules by default, so this talk guides you through the steps to get Apache ready for a Kylix-generated shared module.
This talk is based on an article of the same name in Issues 69 (May 2001) of The Delphi Magazine.

Safe and Unsafe Typecasting, April 24th, 2001, Borland offices, Twyford, Berkshire. (UK BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe they are for use against Delphi objects. Old Pascal typecasting techniques will be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk is based on my three-part Typecasting Explained series of articles in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of The Delphi Magazine.

Exceptions And Exception Handling, 13th February, 2001, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at many aspects of working with exceptions in Delphi. It starts with an overview of what exceptions are and how they work, and then moves onto how they are handled without your intervention and how you can intercept them and handle them with custom code. It looks at how exceptions can be generated, how to use custom exceptions, application-wide and form-wide exception handling and also avoiding a nasty problem that exceptions introduce.

Lists, 21st November, 2000, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at a number of the types of lists available in Delphi, showing how to use them and noting potential pitfalls along the way.
You can download the files that accompany this talk.

Docking In Delphi Applications, 19th September, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Having recently discussed drag and drop in Delphi applications, this time I will be focusing my attention on dockable windows, support for which was introduced in Delphi 4.
This talk is the basis of my Drag & Dock article in Issues 63 (November 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

The Delphi Clinic, 15th August, 2000, POSK, Hammersmith, London. (UK BUG meeting)
For the past 5 years and 56 issues (as of August 2000) Brian has been the host of The Delphi Clinic column in The Delphi Magazine. During this time may people have raised a whole host of issues that Brian has had to research and resolve. In this session Brian will share some of his best solutions including richedit problems, DBGrid enhancements, OS settings, custom message boxes, BDE errors, creating Start Menu folders, property queries and any others that can be squeezed in.
You can download the files that accompany this talk.

Actions & Action Lists, 23rd May, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Actions, introduced in Delphi 4, allow you to centralise functionality that may be invoked by the user in many ways. They also allow you to easily split the "doing" part of the action, from the "validating" part. This talk is split into three parts. The first section looks at how actions can be used in applications. The second part looks at the underlying VCL architecture that supports actions. Finally, the last part investigates how to make new standard actions that can be installed into the IDE.
This talk is the basis of an article of the same name in Issues 61 (September 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

Dragging & Dropping, 21st March, 2000, POSK, Hammersmith, London. (UK BUG meeting)
Drag and drop has been possible in Delphi since version 1, yet many developers do not seem to implement it in their applications. This talk takes you through the ins and outs of dragging & dropping in forms and between forms, within our applications and then tries to find out how to achieve this between applications as well.
This talk is the basis of my three-part Dragging & Dropping series of articles in Issues 56 (April 2000), 57 (May 2000) and 58 (June 2000) of The Delphi Magazine.
You can download the files that accompany this talk.

Run-Time Type Information (RTTI) In Delphi - Can It Do Anything For You?, 20th December, 1999, Noordwijkerhout, Holland. (SDN meeting)
This talk gives a thorough explanation of RTTI in terms of what it is, why it is here and what it is used for is followed by various examples of how you can use it for your own purposes.

Delphi VCL Sourcery, 20th December, 1999, Noordwijkerhout, Holland. (SDN meeting)
This session looks at the often overlooked VCL and RTL source code, hunting for useful tidbits to share. We will find a number of things that practically all Delphi developers are unaware of, which can be potentially useful during application development.

Messages In A Bottle, 25th May, 1999, POSK, Hammersmith, London. (UK BUG meeting)
When Delphi does not give you the functionality that you require, sometimes you have to resort to accessing and sending windows messages. This session demonstrated numerous techniques that you can employ to achieve your objectives. These techniques include message handlers, window procedures, application methods and events amongst others. This is an intensive and interactive session that involves many source code examples and delves into parts of windows where no normal developer would dare to tread.
You can download the files that accompany this talk.

Interfaces for the Uninitiated, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session slowly goes through the basics and intricacies of interfaces. It covers the use of interfaces in COM applications and the advantages of using interfaces in applications that do not use COM.
You can download the files that accompany this and the following two talks.

Creating Classes, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany this talk, the talk above and the following talk.

Creating Components, 6th May, 1999, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
This session follows on from the Creating Classes session. It shows how classes and components are inter-related and also discusses the basics of creating property editors and component editors.
You can download the files that accompany this and the two talks above.

Messages In A Bottle, 19th March, 1999, Services To Software, Glasgow. (UK BUG meeting)
When Delphi does not give you the functionality that you require, sometimes you have to resort to accessing and sending windows messages. This session demonstrated numerous techniques that you can employ to achieve your objectives. These techniques include message handlers, window procedures, application methods and events amongst others. This is an intensive and interactive session that involves many source code examples and delves into parts of windows where no normal developer would dare to tread.
You can download the files that accompany this talk.

Creating Classes, 23rd February, 1999, POSK, Hammersmith, London. (UK BUG meeting)
This session is aimed at developers who are trying to get to grips with the creation and use of classes. Properties, methods and events will all be covered.
You can download the files that accompany this and the following talk.

Creating Components, 23rd February, 1999, POSK, Hammersmith, London. (UK BUG meeting)
This session follows on from the Creating Classes session. It shows how classes and components are inter-related and also discusses the basics of creating property editors and component editors.
You can download the files that accompany this and the above talk.

C++Builder Packages, 23rd April, 1998, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
Packages - what they are all about. This talk is presented using C++Builder 3, but highlights any differences between C++Builder 3 and Delphi 3. This presentation also includes details on how to interact with the IDE from within a package.

COM, 23rd April, 1998, Bewley's Hotel, Newlands Cross, Dublin. (UK BUG meeting)
The Component Object Model and all that it represents is becoming very important in application development. This session takes us through, step by step, the use of interfaces, COM servers and COM clients. The attendees are then given the opportunity to participate in communicating with Word97 using COM.
You can download the files that accompany this talk.

Common Problems In C++Builder and How To Resolve Them, 30th September, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk is based upon information from C++Builder technical support. It goes through the more common problems that C++Builder programmers experience, and how to resolve them.

DLLs In C++Builder, 30th September, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at the techniques necessary to access third party DLLs (Dynamic Link Libraries) in C++Builder, before moving on to show how you create your own DLLs.

Automation With C++Builder, 27th May, 1997, POSK, Hammersmith, London. (UK BUG meeting)
C++Builder can do Automation just as well as Delphi or other development tools. This session looks at the subject of Automation and defines important terms to give a general understanding of the subject. It then proceeds to look at ways that you can control Automation servers from C++Builder applications before investigating the subject of creating Automation servers yourself.

C++Builder For Delphi Users, 25th March, 1997, POSK, Hammersmith, London. (UK BUG meeting)
This talk looks at the syntax used in C++Builder for many of the common things you want to do with it, from a Delphi programmer's perspective.
This talk was the basis of my article C++Builder for Delphi Users, in Issue 19 (March 1997) of The Delphi Magazine.

Delphi 3.0 Has Packages Of New Features, 20th February, 1997, Utrecht, Holland. (SDN meeting)
A run-through of all the new features available in Delphi 3, covering the IDE enhancements as well as new language features. This talk (quite briefly) covers interfaces, COM and packages.
This talk was the basis of my two-part review of Delphi, The Delphi 3 Novelty Store, in Issues 20 (April 1997) and 21 (May 1997) of The Delphi Magazine.

Automation Servers And Controllers In Delphi 2, 20th February, 1997, Utrecht, Holland. (SDN meeting)
This session explores the subject of Automation, showing how Delphi supports controlling Automation servers through Variant variables. It then moves on to show how you can write an Automation server of your own, using the special automated section of a class, which can then be controlling by any language capable of talking to Automation servers.

Safe and Unsafe Typecasting, June 13, 1995, Inland Revenue offices, London. (UK BUG meeting)
This talk looks at the various mechanisms for typecasting in Delphi, and how safe they are for use against Delphi objects. Old Pascal typecasting techniques will be contrasted against modern Delphi object typecasting, which can make use of RTTI.
This talk was the basis of my three-part Typecasting Explained series of articles in Issues 3 (September 1995), 4 (November 1995) and 5 (January 1996) of The Delphi Magazine.

Subclassing Windows, April 11, 1995, Upavon, Wiltshire. (UK BUG meeting)
Discussing various ways of customising windows using Delphi techniques and Windows techniques. The session also covered the seemingly impossible (at the time) task of removing the vertical scroll bar from a DBGrid, introduced ways of navigating around a DBGrid and showed how to make an auto-repeat button, like the DBNavigator's.
This talk was the basis of my Subclassing Windows article in Issue 2 (July 1995) of The Delphi Magazine.


Go back to the Talks page
Go back to the top of this page