It is one of the great things about Delphi that you are able to keep enhancing and reusing the same code base so my latest project builds on many years of software development. I had an obsession with the engineering and science representation with our parliament and thought I would use Delphi to analyse the CVs of our MPs and publish the results.
The end product is available for your comments at http://www.innovasolutions.com.au/AustralianMps/ but how was it done?
Object Database
Delphi as a product has always provided easy integration with various relational databases for storing your data but there are other alternatives. In the early years when the now infamous BDE had to be distribute with all such database applications I chose not to use a standard database for one application which required a simple installation. Instead the application database was persisted as objects in a single file. This led to development of a true “Object” database implementation which did not rely on an underlying relational database but enabled easy persistence of business objects in an Object Database engine with encryption and Client/Server capability over the Internet.
Business objects in an Object database were implemented to gather, standardise and store the information publicly available on the Australian Parliament House website.
Web CGI Access
In 2009 when rebuilding the ADUG membership application it was desirable to build a WEB interface enabling software support with Delphi Professional. This led to a CGI Form framework. The original framework replicated the old ADUG WEB site and was not “Responsive”. Part of the motivation of the MP pages was to enhance this framework to easily support responsive WEB pages.
Details of the first version of the CGI framework is available from
More details on the first CGI Framework
I will make the later version available on request. It requires extra work to remove its dependence on my Library code.
Delphi Library Code
Over the years I have built up a great code base which I was able to call upon to obtain, manipulate and analyse the data contained on the APH site. Some of these “libraries” contain code from Turbo Pascal (and/or VAX Pascal). Each project offers the opportunity to extend the code base. The Delphi linker selects and links just the sections actually required. Compiler directives enable support across all Delphi versions and platforms. Awesome!