Login to participate
  
Register   Lost ID/password?

Louis Kessler’s Behold Blog

Breakthrough (at last!) - Mon, 27 Jul 2009

Finally, last night I successfully got the virtual rendering of the RichView window working. What that means is I now have a “viewport” into what looks like a complete Everything Report, but is really generated only as is needed.

I’ve been working on this for over a month. It took a number of trials of various sorts to get it working. The most difficult of these was maintaining a buffer of a couple of pages before and after the viewport, so that page ups and page downs would work seamlessly.

There’s still a fair bit of work left to convert the other parts of the program that use this virtual view. I’ve listed those in my Future Plans page, and there are 13 tasks left to get to Beta. I’ll really be savoring each and every one of those tasks as I get them done.

I want to be rigorous and do them right, but let’s see if I can get them all done before August is over. Nothing like a challenge!

Temporarily, No Trial Download - Tue, 30 Jun 2009

Ooooh. I’m so mad.

I had forgotten that it was three months ago that my old computer crashed and I purchased a new one. I upgraded to Delphi 2009 which allowed me to add Unicode earlier than I thought I would, and I was really rolling.

But last week I realized that the 3 month expiry of the last alpha version of Behold was coming up again. I would have to recompile it and release a new trial.

… but I couldn’t. The previous version was compiled with Delphi 4 and older versions of TRichView and ElPack. The installation of those packages were not only not easy, but I’m not sure if I could do them at all under Window Vista 64 bit. It just wasn’t worth it.

So there is currently no trial available for new visitors. They’ll have to wait until the Beta is released. I have in the meantime, placed a form on the download page to allow them to enter their name and email address and I’ll notify them when the Beta becomes available.

Rather than trying to get the old stuff working again, I’d rather forge ahead towards the Beta. And this “blackhole” in Behold availability is sure to push me to get the Beta out sooner than later.

Tough Stuff - Mon, 15 Jun 2009

I’ve been working very hard the last few weeks to rewrite the internals of Behold for the sake of efficiency. I’ve written much about the details of this work, and the Beta release of Behold has basically been waiting until I complete this.

I consider this extremely important. Behold will need to load large files quickly and efficiently. Everyone is used to this because most programs “cheat” by having a database already built in their own internal format. They already have the name and place indexes pre-built and with the database. They also tend to only look at one family at a time, and the amount of data they need to load is limited. They can be fast.

My task is to load data into Behold and display it, even for very large files, fast enough to not be a concern. GEDCOM Files of a hundred megabytes should be able to be read, interpreted and indexed in a few seconds. Display should be instantaneous.

It is getting the latter to happen that has been causing me the last few months of hard labor. Taking the TRichview package, and faking it out so that it thinks the document is only the page you are viewing, the page before and the page after, has been a real challenge.

Everything in this work is new to me. I’ve been having to go into the guts of TRichview to see what it does. I’ve had to learn to intercept keystrokes and mouse movements and handle them before TRichview does. I’ve had to learn how to take over the scrollbars to fake them up to make it appear that you are on a given page in a large document. I still haven’t reimplemented printing, print preview, finding text, and some of the navigation keys.

The bottom line is that this is tough stuff. Each step involves researching a solution, and often coding, testing, recoding and retesting. Problems can occur due to very low level Windows methods interfering with each other. Then a solution needs to be researched and tried with more rewriting. This is difficult, but I am happy to be making slow and steady progress to the goal, which does appear to be achieveable.

The bad news is that in the next two weeks, I’ll again release an interim Behold version with no changes just to prevent the 90 day expiry date limit.

The good new is that I am very motivated, and I’m working hard on Behold to get these improvements in and get to the Beta as soon as is possible.