In case it's not clear from my moniker, in the world of software development Delphi is my preferred weapon of choice and if you're not familiar with it (you should be), the underlying language is Pascal. I've been using Pascal for over 30 years. In this time of COVID-19 lockdowns I've been using my time to learn Typescript, brush up on modern Javascript and familiarise myself with the Node.js ecosystem.
It's been both a rewarding and incredibly frustrating experience (more on the frustrations will be forthcoming as I do plan on an in-depth project post-mortem), but right now I need to ask this question....
Who on God's great earth felt it was a good idea to make any software source code case sensitive?
The year, 1995. Windows 3.1 was the current Microsoft operating system running on the family's 486sx 25MHz with 4MB of RAM. Turbo Pascal 7 was my weapon of choice but of course it couldn't produce Windows applications... yes there was Turbo Pascal for Windows and Borland Pascal but they both required lots of boiler plate code to make windows and interact with the OS (Nightmare). And then it happened...
I saw it... a full page print advert for Delphi. OMG!!! No longer would you have to fight with boiler plate code, just drag components onto a form, hit build and hey presto... a fully fledged Windows application. So I saved up, pre-ordered it and waited patiently for it to arrive.
Delivery day arrived... knock at the door... there it was in what, by today's software standards, was a huge parcel. Oh how I miss the library that accompanied it. I installed it and well... it scared me to death. I wasn't ready for the shift in paradigm. I'd had access to Turbo Vision since getting Turbo Pascal 7, but I had avoided it for the same reason. So there it was... Delphi 1... and I just didn't get it, so it languished untouched on my hard drive for a couple of months.
At this point I was looking for my first professional job and I came across an advert in the local newspaper emblazoned with the words... "Delphi experience wanted". A couple of months after release and someone wanted engineers with experience. I updated my CV, wrote my covering letter and fired up Delphi. A few weeks later and somehow I'd managed to talk myself into a position with a company that was looking to rewrite it's current software offering using Delphi and whilst I actually didn't do that much Delphi development for them, I did manage to get over my lack of understanding by developing a suite of components that were to be used to internationalise the new product offering.
So, I'm working on some of the rendering classes for my latest project and I've encountered an interesting issue that I can't explain and I'd greatly appreciate it if someone could explain to me what it is I'm doing wrong because I just can't see it.
For our new game, the current plan is to use Lua to provide content and control, with Delphi doing most of the heavy lifting (rendering, game state saving etc.). To achieve this, it's necessary to establish an interface to Lua (for this, I'm using the excellent interface by Dennis Spreen - VerySimple.Lua - this is specifically for Lua 5.3) and then to get the data out of it. This article is going to focus on the later as VerySimple.Lua is very simple to use (excellent job Dennis ).