Login to participate
Register   Lost ID/password?

Louis Kessler's Behold Blog

Updating My Development Tool - Fri, 3 Jul 2015

I’ve been working with Delphi as my development tool for Behold since about 1996. I’m fortunate that the language has continued to be maintained and upgraded during that time, even though it changed ownership several times.

The version of Delphi that I have been using to develop Behold for the past 7 years has been Delphi 2009, which I upgraded to from Delphi 4 in October 2008. That was a necessary upgrade because that added Unicode capabilities which is an essential for any genealogy program.

Now that I’ll be adding editing, I must again upgrade my development tool. In March, I purchased Delphi XE7 with a free upgrade to Delphi XE8 which came out in April. Yes, that’s a full 8 versions (about one per year) after Delphi 2009. They started using the XE moniker to represent the 2010’s.


The number one essential that XE8 provides that 2009 didn’t is a new database management environment called FireDAC with interfaces to the SQLite database, which I’ll be using for Behold’s file format. I selected SQLite because its a multi-platform, speedy, single file database with a small footprint that’s embeddable within the program. This also happens to be the same database system that RootsMagic uses.

A second thing XE2 and after provides that 2009 doesn’t is 64-bit support. So finally, I’ll be able to create a 64-bit version of Behold which should provide advantages on 64-bit machines. Once I get to this, I will be interested to compare the performance, memory use and file size limits of 32-bit versus 64-bit processing, although in reality.

The installation of Delphi XE8 was pretty straightforward and seemed to take about an hour. It upgrades to a new directory, so I am able to keep my 2009 Development active in case I have to go back to check for differences between what 2009 and XE8 does. 

I need to upgrade all my 3rd party packages to new versions that will work with XE8.  I want to get my new XE8 environment working, while also keeping my 2009 environment working at least for a while. That way, if something is not working the same as it used to, I could test it in 2009 and determine if it was because of the upgrade, or if there was some other reason. Once I’m satisfied that Behold is working reliably in the XE8 environment, then I will be able to dump the 2009 environment.

I don’t update my development tool very often. The steps are often problematic. This is what happened updating my 3rd party packages this time around:

  1. TRichView, which I use for the Everything Report, is now up to Version 15.7.1. I had previously been using version 10.1.4 from 2008. I downloaded the new version, which I get free upgrades for. I love the idea of free upgrades in a product, and TRichView’s policy prompted me to do the same with Behold. When I tried to install the new version, the 32 bit-version installed fine, but the 64-bit version did not because the directory for it was not set up yet in my installation of Delphi XE8. I found that I had to load a sample program and rebuild it in 64-bit for Delphi to create the needed directories. A nasty thing this installation did was to delete the TRichView binary from the 2009 version. I had to recreate that binary. Doing so was tricky since Delphi coughs badly when a package is missing and doesn’t let you in easily. I had some fiddling around to do to get it working. This is not something I do every day so I had to look for help or clues and figure out what the proper directories were. But I was able to get this all going in a couple of hours. I added a message on the TRIchView private forum to let the author know about these glitches in the installation so he can prevent them in future versions.
  2. LMD Elpack, is what I use for the TreeView, the grids in the Organize pages, and a few lesser components. I was using their 2009 Version. I needed the 2015 upgrade which includes support for XE8. So I ordered the upgrade. It’s nice that TRichView users get 20% off of any LMD purchase. Installing the ElPack upgrade was easier than TRichView was. The files were loaded into their own 2015 directory that was separate from the previous 2009 directory. And it knew that it was only supposed to be installed into Delphi XE8 and not Delphi 2009. After going through hoops to get the installation package from the LMD protected area, the installation was straightforward and worked reasonably well.
  3. EurekaLog, is what I use to trap errors and show an a error reporting box to the user, rather than just letting the program crash. It also helps me find and fix memory leaks in Behold. It had a special Cyber Sunday deal of 70% off for one day only last November which I took advantage of. That was for Version 7.x.  So now I downloaded and installed the latest 7.2.5 version which supports XE8. I was previously using version 6.0.21 from 2009. Installing EurekaLog had a few problems. First, It wanted to delete the previous version of the program before it would allow the new install. I found a EurekaLog support document on how to install two versions of EurekaLog. I had to go into RegEdit and change Eureka log to EurekaLogOld, then install the new version, and then go back into RegEdit and rename EurekaLogOld back to EurekaLog. Thats not a very nice way to have to do it. But then, it still didn’t work. When installing the new version, it gave two system errors. It couldn’t start InstallDiag.exe or Viewer.exe because VCRUNTIME140.dll was missing from my computer. After researching, I found that happens to be a library that comes with Visual Studio 2015, which of course I don’t have installed. EurekaLog’s installation should not depend on this. I downloaded the file (found from an answer in StackOverflow) and reran the installation of EurekaLog 7. Again I had to do the RegEdit thing for Version 6. Now the installation of 7 into Delphi XE8 worked. But Delphi 2009 still wasn’t working. I went back and found my original 6.0.29 installation and reinstalled it. Behold in Delphi 2009 recompiles and runs again. Yay!  By the way, EurekaLog’s install program is unsigned in both its version 6.x and 7.x – meaning Windows gives big bad warnings about running that “untrusted” program.

Now that was easy wasn’t it? Only about 2 days elapsed time. Behold now again compiles and runs fine in Delphi 2009. Delphi XE8 is also set up with the new versions of the needed packages installed into it. The next step is to get Behold to compile and run in the new environment.

Redefining Plans - Tue, 30 Jun 2015

It was really nice to get version 1.1 out. In doing so, I’ve taken into deep consideration the last line from my Living Up To Expectations post a few days ago, where I said:

Maybe after 1.1 is out, I should directly track towards Version 2.0 and just do what’s necessary to make that happen.

It’s true. I have been caught up in a lot of things with Behold over the past few years. Making a powerful GEDCOM reader, Ancestral Loops, Windows Certification, and other knowledge-based things, and of course many restarts of the Life Events that took a couple of years before I had the right model that I could implement.

Now, I’m not saying that any of these are bad things. All worked to make Behold better.

But when I sit down to think what it is I really need Behold to do, the number one reason why I want it is so that I can personally enter my own genealogy data in an efficient and organized source-based manner that I have long wanted to do.

Unfortunately, none of the above things I’ve been doing have got me closer to that goal. So I have to admit, the criticisms on GenSoftReviews were correct. I’m not getting any closer.

What this demands is a change of direction. Just aim me at my real goal. Let’s get to Version 2 and editing. I can add all the other stuff later as I need it.

Well, let’s even change that last statement to:
     I can add all the other stuff later if I need it.

Once editing is added. I’ll be able to start using Behold myself to enter my own data. That will allow me to see what’s needed and I’ll be able to add needed stuff and make it available to everyone as I do that.

Take a look at my new Future Plans page. I give the things I’m hoping to get into Version 2.0, and then have organized everything else into groups of ideas of things that I might want to do afterwards. But that will depend on what I find is needed rather than just going down the list one by one (which as you and I have both found out, takes forever).

I will try to get the Beta out sooner rather than later. As soon as I have something working enough to show the concepts, I’ll try to make it available. In the meantime, keep checking my blog posts. I intend to be writing blog entries more often as my new means of giving status reports and keeping me on track.

I’ve also decided not to go to RootsTech this February. Earlier, I was hoping to submit 3 presentations and head down there. But now I would sooner spend as much of the time as possible up to then trying to get Behold to Version 2.

I’m still committed to the 11th Unlock the Past Cruise in February where I’ll be giving at least seven talks. That will serve as my conference fun and vacation from our frigid Winnipeg winters this year. If you can afford the Clock and $$, do come and join me.

And if I can get Behold 2.0 all polished up by 2017, that’ll be the time to go to RootsTech!image

I started a new counter on my phone. It says I’ve been programming towards Version 2 now every day for 2 days. Let’s see if I can keep it up.

Behold Version 1.1 - Sat, 27 Jun 2015

I have released Version 1.1 of Behold.  It is now available on the Download page.

The easiest way to upgrade your existing version is from the Help menu in Behold: select “Check Online for New Version”.

For changes in this version, see the History page.

I’ve changed my Future Plans page. I will no longer be giving projected dates of the next versions. They were taken the wrong way. However, you will see that my next objective is to work towards releasing a beta of Version 2 with editing.

There are three language translation files on the Download page:  Dutch, French and German. However the new version of Behold has a lot more terms, so these language files are now quite incomplete and need to be updated. If you would like to update one of these files, or create a new one in a different language and send it to me, I will make it available for free for all users.

Please try out the new version of Behold and let me know what you like and what you don’t and if anything isn’t working quite right.

To anyone who downloaded Version 1.1 on June 28 or June 29. The old Version 1.0 help file was included by mistake. Just go to the download page and install Behold again right over the one you’ve got without uninstalling and that should give you the new Version 1.1 help file. To check that you’ve got the new help file, open it and search for “life”. The old version only has 1 entry. The new version has 11.