Delphi and ASP.NET – Glenn Stephens

This session covers the fundamentals of creating dynamic web applications using ASP.NET and the Delphi.NET compiler.

By the end of the presentation you should understand.

What is ASP.NET
How is it better/worse/different to the other web frameworks
Using Delphi as a language for ASP.NET pages
A look at the ASP.NET controls
Mixing ADO.NET and ASP.NET
Web Services with ASP.NET
ASP.NET tools and resources
Tutorial on “MDI applications design” – Lachlan Gemmell
This is more of an open discussion on how and when to design MDI applications. We want to get your opinion and experience on the matter. Therefor the presentation will be kept fairly short in favour off a hopefully vivacious discussion.


Doc-o-matic – Anthony Egerton

Have you ever thought wouldn’t it be great if I could create help files for my source code just like the VCL in Delphi. Doc-o-matic is a tool that will create help files automatically from your source code and comments. Come and find out how.

Visual Design of Internet applications with Delphi & IntraWeb – Mathias Burbach

This is an introduction into the new feature of Delphi 7, which was available as a third-party tool for quite a while by Atozed Software. We will discover how easy it is to design web applications with Delphi visually.


DIY Utility Classes – Misha Charrett

Virtually no Delphi project is completed without using one or more third party libraries/components, often saving months of development time. But there are still occasions where it is worth your time to write your own utility classes. Maybe you cannot find a component to match exactly what is required, or maybe the classes are so fundamental to your application that you think you can do a better job yourself.

In this presentation I will illustrate, through examples, how a bit of effort invested in developing your own utility classes can save significant development time and increase the quality of your software. I will examine some utilities that I have found to be extremely useful over time, such as a better “id=value” class, a simple way to deal with text data files, and a utility class to manage global variables and error handling. The focus of this presentation will be to show how to develop class libraries from the perspective of a library user, rather then a library developer – there is a difference! Inspired by Paul Spain’s presentation at Melbourne ADUG.

Using Delphi IDE Macros – Anthony Egerton

This will be a practical introduction to this under-used Delphi IDE facility. The keyboard macro facility is a simple and natural extension to your editing skills, and can be a serious time-saver like ‘cut and paste’ or ‘find and replace’.

An overview of the TMS TDBPlanner component – Craig Goodall

The TDBPlanner component is quoted as for use with planning and scheduling applications. It can be summarised in one word … “BIG”. It’s a huge component with a vast set of properties and functionality to provide an interface for the coupling of time and resources. This overview will provide a brief introduction to a component which members may find useful in their future applications.

Book Review – John Mackerras

User Interface Design for Programmers by Joel Spolsky
144pp inc Index, Apress 2001, Just a few thoughts on the book written by a veteran programmer.


WMI from Delphi – Malcolm Groves

Windows Management Instrumentation (WMI) lets your Delphi and C++Builder applications manage basically all aspects of a Windows-based computer. This means more than just enquiring about the current status of software and hardware on your system (or any system on the network), but subscribing to notifications, so that system events such as disk space availability, memory, CPU or network utilization or events occuring in applications can all be used to trigger your code to execute.

Book Reviews – Lachlan Gemmell

Lachlan will present a brief review of two very good books that every serious Delphi programmer should have in their library. The first is Code Complete by Steve McConnell, a very readable, well researched book on techniques for improving your code. The second is Delphi in a Nutshell by Ray Lischner, an excellent reference book for anyone wanting to really understand the Object Pascal language and Delphi RTL.

Delphi .Net Preview – Mathias Burbach

Looking under the bonnet of DCCIL
This session will explain how to use the new Delphi for .Net Preview command line compiler “DCCIL”, which ships with Delphi 7, to become familar with the .Net Framework. We will build simple command line applications as well as Windows Forms and Active Server Pages for .Net (ASP.Net). Less slides and more examples.


Delphi Internet Technologies – Mathias Burbach

Part 1: Web Services
We will look into the basics of creating and consuming a web service. Then we can look at implementing a multi-tier database application using a web service. Finally in a short case study we want to show how web services can help replicating data between different databases on possibly different operating systems. We should also have a few minutes to look into the task of making web services secure.

Third Party Components – Lachlan Gemmell

Lachlan takes us through issues related to third-party components, predomanantly those around access to source-code, healthy communities around third party components, etc.


Glenn Stephens began with a presentation on “Threading your Delphi Apps”. Pat your head and rub your tummy at the same time. Sure it takes a little longer, but you are doing more than you would normally if you were doing one thing at a time, even though it is a little more difficult.

Getting your application to do several things at once can also be tricky, but with some tried and true methods, you can implement by introducing threads into your application. This presentation helped us understand what threads are, how they work, the problems to look out for and how to resolve locking and synchronization issues.

In addition, there were some interesting demos showing how you can add Internet downloading in a separate thread and downloading large database result sets so that users of your apps can be productive while that huge database query is running.

Mathias Burbach then gave a talk on generic database design with InterBase. The session explained how to design generic database structures. It covered topics like modelling changes over time into you r database structure as well as coping with the demand for notes columns everywhere. We looked into the ability to store real world objects into the database with totally different properties. Finally , we discussed a solution to keep information versioned, which means you can retrieve a table’s content as it was days, weeks or even months ago.


Perforce – Victor Rodrigues (Cochlear)

The first presentation tonight by Victor Rodrigues from Cochlear explained the advantages of Perforce, a fast software configuration management system. Perforce is not only source code version control system but it helps you managing your software development cycle by offering the branching, merging branches and multiple releases. It has a small footprint and can be used via the Internet, although a VPN might be preferable for security reasons. And the best at the end: Perforce offers a fully functional version of it’s software for free, you are only restricted to two users and two client workspaces. Additional information is available here.

Rule Based Software Development – Andrew Rutherford (Object Connections)

After the pizza break, courtesy of Borland, we looked into rule based software development. Andrew Rutherford from Object Connections showed us a product of his company named Common Knowledge. He demonstrated the flexibility of this software development tool by creating a set of rules for a insurance company from scratch. Common Knowledge allows you to visually define your business rules (Common Knowledge Studio) and keep them separate from your executable. Thanks to a set of Delphi components you can access the rules engine (Common Knowledge Rules Engine) easily and calculate whatever has been defined in your rules set. More information is available here.

– June photo’s available (Victor, Andrew)


This month we had an evening packed with interesting presentations. Rajiv & Phil from St. George Bank kicked off with a case study about MIDAS within their bank. They had used this Borland technology to build a work flow software for their loan application processing. It turned out to be very reliable and consumed only a small bandwidth. Their loan processing departments is spread over the entire country and some of them only have 64KBit connection. MIDAS solved their problems by buffering their changes until they apply their updates. An added benefit of allowing the use of an offline notebook and have the ability to use the briefcase model.

Before the pizza break Anthony showed us the usefulness of the Jedi JCL stack track. If you ever had an application deployed, which raised an error with the meaningful error message “list index out of bounds”, you should look into these add-on, to provide you with much better error locating facilities.

After the pizza break Glenn presented quite a few possibilities to raise your productivity with Delphi, by creating your own property editors, creating new objects programmatically (e.g. singleton) and using the ToolsAPI of Delphi. Have you ever considered loading an entire RTF document into a TRichEdit component by right clicking on the component and specifying a file location?

– JEDI Code Library available here
– Gelnn’s Toolsmithing examples here


Our April meeting took us into the world of remote software teams and how to co-ordinate their development work. Damien Bootsma explained TeamsSource DSP to us and showed how you can manage not only the source code of your Delphi projects but also the collaboration of the team members. Imagine a chat software that stores the dialogue persistent. Look up what you said 2 months ago and know exactly why your remote colleague introduced this feature to the unit you usually maintain.

During the second presentation Mathias Burbach showed us how easy it is to create WAP applications with Delphi & WebBroker. We came to grips with the structure of WML documents, where a desk can hold multiple cards and how to organize your user interface on such a tiny little display. Finally we saw how WML documents can be stored in TPageProducer components and a simple way of replacing their placeholder tags with content from an InterBase database.

– Damien’s DSP presentation here (and a photo here)
– Mathias Source, Database, slides, etc here


Malcolm showed us how to talk to Nokia mobile phones from Delphi, raising the scary prospect of SMS-based spam. Also, more cool tools, with Anthony threatening Malcolm with Legal Action over the name of his session.

– Nokia SDK here (free registration required. Look for the Nokia PC Connectivity SDK link on the right hand side).
– Nokia SDK examples here
– Brian’s CodeInsight Utility here.
– Find Unit\Use Unit Expert here.
– MaxSpace here


This month we had a really interesting meeting. Lot’s of helpful tips and tricks from Anthony and also a pretty simple approach how to use DUnit Testing in ordinary Delphi apps.

– DUnit can be downloaded from
– Photos available here.
– DUnit Examples available here.

Links from Anthony’s presentation:
– Beyond Compare –
– ModelMaker Code Explorer –
– WinKey –


Coming Soon

– Photos available here.
– Steve’s presentation available here.