Skip to main content
Thoughts from David Cornelius

Software development tools and techniques explored--mostly Delphi

What can Code Signing do for you?

Category

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.

Interrupted Slide Transition

Category

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.

AutoGetIt

Category

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.

Dev Machine Setup List

Category

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 Locked-up with Git

Category

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.

Multiple InterBase Instances

Category

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.

Path Size with Multiple versions of Delphi

Category

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.

Preventing Multiple Application Instances in Delphi with TMutex

Category

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:

  1. Search for the name of your app's main form by name, or
  2. Search for a "mutex" created by your app.

 

Linux, Lazarus, and Lots of scripting

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.

How to Break Delphi's Object Repository

Category

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.

Diving into .NET david Fri, 06/27/2014 - 21:01

I recently watched most of a dotnetConf, a virtual conference on .NET hosted by Microsoft. All the sessions were recorded and there's a lot of good and relevant content.

I was programming Win32 apps in Delphi while listening and I felt myself yearning for the cool technologies they were discussing. Yeah, Delphi has grown up a bit, but it's no longer the leader, it's following and getting further and further behind the rest of the development community.

The Broader Picture

Category

When I was in college heading for a degree in Computer Science, I wondered why I needed History or Psychology or English or Art. Hadn't I had enough of that in high school? Why couldn't I just take fun stuff like Assembly Language or Advanced Data Structures? My parents tried to tell me about well-rounded education, how important professional communication is, and the benefits of knowing about the world around me, but it was hard for me to put much more than the minimal effort required to get the grades in those "non-essential" classes.

Delphi Developer Dilemma

I've used Pascal-based compilers for a long time. Similar to many others like me, I started with Turbo Pascal 3 in the 80s, embraced object-oriented extensions in Borland Pascal, attempted to understand OWL but quickly moved to Delphi when it was released, and now churn out blazing database applications on the latest Windows operating systems using internet technologies, advanced reporting tools, and multiple third-party component sets. Sure, I've dabbled in other languages such as C/C++, Visual Basic, .NET with C#, and some scripting languages, but Delphi has been the bulk of my experience for the past 17 years or so.

Simple PHP Web App in HTML5 Builder

Category

The first application I'll create will be similar to sample ones I had tried in RadPHP. They were simple PHP tutorials and they worked--somewhat. I had some issues, but don't remember whether it was getting all the right libraries in the right place or whether it worked from some locations or browsers or what. In any case, I'm hoping HTML5 Builder will make the process a little smoother.

Subscribe to Programming