A Database of the Australian Federal Parliamentary Members

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.
Continue reading “A Database of the Australian Federal Parliamentary Members”

Playing with Colors Bitmaps and Textures in Delphi

I have been exploring Textures in Delphi 3D and this required an understanding of colors and at a later time will require the construction of very specific Bitmaps modeled on the one used by Anders Ohisson in his Maths Function Demo. Here I discuss two simple demo projects and a library of functions for creating bitmaps and textures in Delphi for Delphi. Continue reading “Playing with Colors Bitmaps and Textures in Delphi”

Innova Solutions Object DB Now Supports Mobile

Finally I have Innova Object DCUs for all platforms. I have been able to test on Android and the iOS Simulator. DCUs for other iOS platforms are provided but as yet are not tested. These are available for both Berlin and Seattle versions.
Continue reading “Innova Solutions Object DB Now Supports Mobile”

Innova Solutions Object Database – Delphi DCUs

Delphi as a product provides easy integration with various relational databases for storing your data but there are other alternatives.

Innova Solutions generally chooses not to use a standard relational database but persists business objects in an “Object” database implementation.
Continue reading “Innova Solutions Object Database – Delphi DCUs”

Under “AutoRefCount” Pointers, Records and Integers clash with “Object” Properties

Integers Stored in a components “Objects” field and the use of Dynamic Records, ClassReferences and Pointers enables developers to extend components beyond the “Data Aware” mindset of basic Delphi. These original building blocks of the Pascal Language became to be considered “Unsafe” tricks and porting such code to the latest “NextGen” compiler environment becomes problematic.
Continue reading “Under “AutoRefCount” Pointers, Records and Integers clash with “Object” Properties”

Checking Object Lifetimes with
AUTOREFCOUNT

AutoRefCount is mandatory with the new generation compiler, this theoretically removes the obligation and necessity of managing object lifetimes. {ARC} However for any system which has any sort of complex object relationships this does not work and the task of making sure objects are freed becomes more difficult with ARC than without it.

Continue reading “Checking Object Lifetimes with
AUTOREFCOUNT”

AnsiString on an Android Device

The Delphi NextGen compiler does not support AnsiString. Much of Innova Solutions library and Object Database code planned for porting to mobile devices makes heavy use of the very flexible AnsiString implementation of a string consisting of simple (8bit) bytes. An AnsiString implementation was critical to any attempt to port the code.
Continue reading “AnsiString on an Android Device”

Delphi Multiplatform and The New Compiler

I was excited when Delphi introduced FireMonkey and added the ability to cross compile and debug on Win64, Mac OS and mobile platforms. I saw it as an opportunity to leverage massive libraries into new environments. The foremost technology was my Object Database which was standard Delphi but originally used some Windows APIs for communications. Changing the communications to Indy was put on the TODO list and I purchased a Mac to get a Mac OS platform.

Continue reading “Delphi Multiplatform and The New Compiler”

Delphi 3D – Moving a Control “Forward”

When we first looked at moving the camera or another 3D object we thought left was step negative X and Up was step negative Y and forward was step plus Z. If you want to reorient this object then in fact it is not so easy. In the case of our camera we want it to travel forward and backward along the local Z axis which is not the same as incrementing the global Z value.

Continue reading “Delphi 3D – Moving a Control “Forward””