First off, I shamelessly admit the title is just a little misleading but it was so catchy, I couldn't resist! However, setting up a quick Drupal website did turn out to be the easiest way I could think of to get around some limitations in the environment from which I was trying to transfer a Delphi project.
Software "Easter Eggs" have long been a fun thing to stumble across. Hidden features, not documented in the standard user guides but found by users (or leaked by developers) are then spread by word-of-mouth as everyone has to go find and see it for themselves then tell their friends. Often, these gems are small and don't take much time as developers sometimes have to sneak them in. Others, like flight simulator in Excel 97 are more involved.
Have you ever downloaded an application and had Windows try to prevent you from opening it? Many times that will slow or stop malware from getting onto your computer but for contract programmers that distribute a variety of custom-built applications to clients, it can be annoying to them as they struggle to keep the download from being quarantined or deleted by their web browser or anti-virus program. Often, the download is halted simply because the application is not recognized and the publisher is unknown. Fortunately, there's a solution that doesn't cost too much and provides not only peace of mind for the person attempting to install your software but also smooths the process, eliminating warnings.
I'm writing a book about cross-platform development with Delphi and in one of the chapters that covers accessing phone features, such as the camera and location services, the demo app I present stores a list of parks with a name, picture, and coordinates for each. I put the list of parks on the first tab and a picture along with an edit box for the park name on second tab.
I somehow managed to interrupt the slide transition two-thirds the way through, leaving a funny display on the screen.
Installing and upgrading Delphi is a pretty big task. With support for eight platforms, a dozen different databases, multiple web services and servers, a rich run-time library, and an ever increasing array of programming tools and IDE productivity aids, I'm in awe that for the most part, the process is fairly smooth. I'm sure there are those still on Windows 8.1 or older or have machines with limited memory and slow hard drives that bemoan the time it takes or incompatibilities they encounter.
I didn't write here much about the release of Delphi 10.4 Sydney but I've been using it almost exclusively for the last several months and have upgraded all projects I could to the latest and greatest version. It really is an amazing environment and continues to get better.
I do almost all of my development from virtual machines. I use VMWare Workstation Pro for this and it has served me well for many years. I like the snapshot and cloning aspects plus being able to move a machine to a different drive, back it up, and even put it on my in-office Windows server and free up local memory and hard drive space.
As I've done this a number of times, there are some steps that I replicate on every machine for consistency and convenience. Everyone will have their own way of doing things and favorite tools--these are mine.
Delphi 10.3 Rio has been out for awhile now, in fact, I recently installed the second update, so this post is a little late to the party but I thought I shared my thoughts anyway.
I needed to reinstall Delphi 10.2 recently and when I did, I finally decided to check the box that asks if you want to hook up a source code repository. I've always managed source in repositories outside of the IDE, but decided to see if and how much productivity improvement could be had it was built in with the project manager. I use Git so selected the installed
git-cmd.exe file when prompted.
Way back in 2000, InterBase 6.0 was made open source. Soon a fork was made in the code and Firebird SQL was born. I started using this new powerful database engine and as InterBase went back to being a closed-source product, stuck with the free version or used other database engines. Many tools and Delphi component sets still support both IB and FB as they are still quite similar.
I work on a variety of projects in several different versions of both Delphi and Visual Studio. A lot of these projects also include database access. To support all these different projects, a lot of different tools need to be installed and with each comes a set of paths that are setup for the applications to find libraries, support tools, and so forth. Since most software tools can also generate both 32-bit and 64-bit code these days, there are often two sets of paths for each type of compilation.
Delphi has come a long ways since it was first released in 1995. It now compiles 32-bit or 64-bit, still creates console or Windows applications but now also can create Android and iOS apps if you have the FireMonkey library and cross-platform tools, you can create Android and iOS apps.
As an independent software developer, I make my living writing scripts and applications for others. In order to maximize my opportunities, I need to be a master of many environments. Since much of my career has involved Windows applications, I am spending quite a bit of effort in other areas.
Having worked in Delphi for many years, I've seen the development tool and it's RTL evolve significantly, yet remain resilient in backwards compatibility. Early on, to prevent your application from running multiple times, there were generally two different approaches:
Why is it that when companies have a good thing, they have to go mess it up by changing its design? I've seen this in many different industries but since change happens so much more quickly in software, I seem to be annoyed much more often with changes in user interface.
A friend of mine runs a business selling a Windows application for a niche market. Of course he has a web site with lots of information and a way to download a trial of his software and then pay and register it. Since he's a technical person, likes writing code, likes to keep overhead low, and his needs are fairly simple, he wrote the registration program himself. He's most fluent in Delphi so it was natural to write the registration program in Delphi--an old, but very functional Delphi 2007.
Some of my blog entries are just to remind myself how to do things later--and on several occasions they've been useful in that regard. I hope they are also useful to others that may encounter similar struggles. This is another one of those articles which I will likely refer back to at some point.
I'm a long time Delphi user and have taken advantage of the Object Repository quite a bit. It's really handy to take a unit or project that might be useful somewhere else but in a slightly different form and add it to the repository. Later, when you need to use that bit of code, you can select it from the repository right from within Delphi and it will make a copy of that code in your new project.