Meetings 2021

Agenda & Information for the Meetings held in 2021.  See Next Meeting for next meeting.
For each of the meeting dates there is a link to the meeting summary.

See Downloads 2021 for the available files associated with the meetings

Date: 12th April 2021


  • Digging into LiveBindings – Stephen Ball
    Jason keeps asking me questions about LiveBindings, so I thought it might be easier to do a session ๐Ÿ™‚ In this session, Stephen will skim the basic of LiveBindings, before diving into advanced use and binding them to different controls, including VCL, and how to enable Master Detail Detail relationships with multiple data sources.
  • Event-based and Asynchronous Programming in Delphi – Dalija Prasnikar
    Event-based programming is everywhere. Nowadays, you can hardly write any kind of application without leaning on events and messages. This simple, yet extremely powerful mechanism is also the cornerstone of asynchronous and multi-threaded programming. Without events, we would not know when some task was completed.
    But, asynchronous and multi-threaded programming consists of more than just handling multiple threads, protecting shared resources, and synchronization. It also includes designing and understanding program flow. That design aspect is often forgotten, taken for granted, and solving all the fine-grained nuances of multi-threaded programming hogs the spotlight.
    Move away from Application.ProcessMessages and take a dive into multi-threaded waters. It is not that hard ๐Ÿ™‚
  • Nugget: JSON and XML in Postgress – Lorenz Wolf
    We are all used to storing basic types (String,Integer, Float, Currency ,BLOBs) in a database.
    Databases have evolved to work with more complex data types JSON and XML. Lets play with some of these datatypes and investigate how they may be useful.
    I will look at some specific examples using Progress DB which implements some of the datatyes extremely well.

Date: 17th March 2021


  • An Introduction to Amazon Web Services (AWS) – Richard HatherallThere are many ways to solve problems with AWS. In this session, Iโ€™ll give a high-level walk through a handful of services offering different approaches.
  • Meta Data XML Schema to CodeGen from Marvin – Patrick Hort
    Fifteen years ago I created an ORM framework in Delphi that allowed me to use XML to define a database schema and corresponding object structure. I wrote Delphi code to generate SQL to create the database tables, and also to write out a unit with a Delphi class corresponding to each table. Due to the consistency, and because of the access to the meta-data, I was then able to write very generic code to stream database table rows into instances of Delphi objects, and vice-versa (i.e. to update the database when objects were edited). Finally, I wrote data binding classes to link the objects to UI components. This framework has paid for itself many times over (both for our core ticketing system Oscar, and for internal tools such as Marvin). But in January 2021, we started to dip our toes into C# waters โ€“and by tweaking the Delphi code generator to spit out C# classes instead of Delphi ones, and by then rewriting the plumbing in C#, we are now able to start building a new C# UI to (over time) replace the Delphi one. In this talk Iโ€™ll be focussing on the Code Generation side of things.
  • Software Licensing Control using CopyMinder – Martin Barringer
    Software licensing control is needed to protect the intellectual property tied up in software which is to be marketed generally rather than developed only for in-house use or for a specific client. The general principle is that the software can only be run if the user has a valid licence from the organisation marketing the software. This allows the marketing organisation to ensure that the software is only run according to the terms of the licence agreement. This session describes the use of one third-party tool called ‘CopyMinder’ developed and marketed by Microcosm Ltd which can be used to enforce licence control of software in a Windows environment.

Date: 16th February 2021


  • Using TMS Diagram Studio: A scalable surface available in Delphi VCL Apps – Adam Brett
    The TMS Diagram Studio is a fairly old component, which allows vector-drawing in a Delphi Application in a fully object oriented context. I have used it in multiple contexts in my programming work over a period of several years. This session will introduce the components how to code with them and show working examples of their use.
  • What’s wrong with VCL – Rob Lambden
    Windows 3.1 was released in 1992, Delphi was first released in 1995.  The VCL is still core to the Delphi paradigm, but 25+ years on how relevant is the VCL to current needs?  What do we want in a UI and where do we want to run it?
  • TSQL Deadlocks – Patrick Davey
    What causes deadlocks

Date: 18th January 2021


  • Getting Started with Watson – Russell Weetch
    A look about setting up and using the IBM Watson AI engine with Delphi.
  • An intro to Smartdraw – Ian Hamilton
    A quick look at my diagramming tool of choice and what I use it for: ER & UML diagrams. Plus a peek at what else it can/may also do.
  • Components – Ian Hamilton
  • An interview with…..Richard Hatherall – Jason Chapman