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””

Delphi 3D – Align Camera to Origin

While the Camera used in the IDE the “Design Camera” always points to the origin [0,0,0] because of the way it is created any arbitrary camera created at any position on the form could point anywhere. It was useful to provide a routine to automate this process.
Continue reading “Delphi 3D – Align Camera to Origin”

Delphi 3D – Camera with “Heads Up” Display

When allowing a user to control or move the camera in a 3D scene it is useful to have some form of “Heads Up” or “dashboard” display to provide feedback to the user about the orientation etc. of the camera. We wrap all this up in a single “AssignFlyingCameraToForm” procedure.

Continue reading “Delphi 3D – Camera with “Heads Up” Display”

A “Flying Camera” or “First Person Shooter”

When I read about Delphi 3D in “FireMonkey Development for IOS and OSX with Delphi XE2” I was excited about the described ability to move the “camera” around in the 3D scene. Given that my then 11 year old grandson had whacked together a credible solar system scene in an afternoon moving the camera seemed to offer great possibilities. Continue reading “A “Flying Camera” or “First Person Shooter””

Delphi Example Code

For some time I have been thinking that I need to make my contributions to the Delphi Developer Community more user friendly from the community perspective and easier to manage and update from my perspective.

To this end I decided to use a WordPress Blog to manage discussion and, at least at this stage, to use Github for code distribution.

This is the first post to my “Delphi Notes” Blog which over time will hopefully replace the static pages containing code samples. The blog format should allow allow discussion on the topics aired. At the same time I am dipping my toes into the Git Repository as a means of making some of the Delphi Examples referred to more available.

I had some difficulty deciding between GitHub, BitBucket and SourceForge as repositories for code samples. I would welcome discussion and opinion on this choice.