There was another feature I used to have in Behold that just has been knawing at me. It actually is important that it be put back in now while the time is ripe.
Basically, when Behold reads a GEDCOM, it may find problems with the GEDCOM file. I’ve now added the listing of the problems to the file information in the Everything Report. But what if Behold is interrupted or does not get to that point? How about more detailed information that isn’t appropriate for the file information (such as line references from the GEDCOM), or maybe just some warnings about the GEDCOM that you really don’t care about normally, but may want all the detail for.
Well this should all go into a log file that is created when a file is read. The fact that there is a log file at all will add to your security to know whether Behold is or isn’t detecting something.
I had two different interfaces for a log file. At first (way back in 2005) there was one I really liked. The top part had the GEDCOM files with a tabbed interface. The bottom was the log file. It was meant so that you click on an log message, and the line could be brought up in the pane above. But back then, loading all those GEDCOMs into TRichView windows was expensive in terms of performance. I didn’t have the Virtual TRichView back then - so I took it out and I put in a simple writing of the log to a file. That happened in version 0.98.8 alpha, 28 Jan 2007.
I then decided for version 0.98.9.5 alpha, 19 Nov 2007 to not print the log file altogether. This is the decision I am now reversing.
Putting it back in really isn’t too hard. All I have to do is compare the differences between version 0.98.9.5 and 0.98.9.6 to see what the log file code was. I started that two days ago, and it took about 15 minutes to get the code in again.
The harder part was my “AppendToLogFile” routine. It was written with Delphi 4 before Unicode and didn’t work with Unicode. I puzzled how to get that working and searched Google, but after two hours I wasn’t there. So I went back to my friends at StackOverflow and asked “How can I get this File Writing code to work with Unicode (Delphi)“. With that help, it’s now just two days later and the core code is working again.
There is no standard way to write a log file, so it’s up to me. Most genealogy programs do not do a good job with theirs and many don’t even produce one. Behold is already fairly decent at determining problems with GEDCOM files, so its log file should turn out to be quite useful when it’s needed.