Login to participate
  
Register   Lost ID/password?
Louis Kessler’s Behold Blog » Blog Entry           prev Prev   Next next

A Really Bad Bug - Mon, 5 Oct 2009

This is about the worst bug in Behold I’ve had to date. I’ve been working to solve the bug off and on for over a month and this bug is the reason why this Beta is late.

It has to do with the “virtual” rendering of the RichView window. I have perfected in getting it all to quickly render, scroll down, scroll up and resize. It is fast and works great. Except that every so often, there is one scroll up operation that causes a program abend and therefore a crash that happens in TRichView. I have isolated some precise examples that cause it to happen all the time, and I’ve traced it down to the exact lines in TRichView where the abend occurs … and it just doesn’t make sense.

In brief, prior to rendering the current view, I call a RichView routine to get the cursor location. I save that. I move the view, and I attempt to restore the moved location with another call to a RichView routine. I’ve checked the code 1000 times and there is nothing wrong with it. But the RichView routine crashes when it tries to restore some unneeded location internally with an index that is out of bounds.

I posted a question to Sergey on RichView’s user forum and Sergey responded that if the document is formatted, that should never happen. After sending Sergey the code, he agrees that my formatting has been done correctly, and he cannot help further unless I can isolate an example.

I’m still in debug mode, and my new tact is to compare step by step the difference in a PageUp that works and one that doesn’t. I’ve had a half a dozen surprises so far where I thought I found the answer, but it ended up not being it.

It is just a matter of time before I get the answer and fix it, or do something instead to get around it. But I am frustrated by the delay. So I’ve decided that as soon as this is fixed, I’ll then just ready the program for Beta and release it. It needs to be out there. The “Trial Download Temporarily Unavailable” must go.

So it will be missing a few additions I hoped to get in for the Beta. And it will be missing some things that were in the alpha, specifically Find, Print, Print Preview and Export. We’ll do those first and get full functionality back and it will be glorious.

Now back to that insect.

2 Comments           comments Leave a Comment

1. Herb Mellinger (silicon)
United States flag
Joined: Tue, 29 Aug 2006
16 blog comments, 1 forum post
Posted: Sun, 11 Oct 2009  Permalink

I would not release a beta without these…So it will be missing a few additions I hoped to get in for the Beta. And it will be missing some things that were in the alpha, specifically Find, Print, Print Preview and Export. We’ll do those first and get full functionality back and it will be glorious.

This would be crippling the program too much. I have waited this long, some more time won’t matter any. I don’t see anyone badgering you to release a crippled beta. Take the time and preserve your integrity and sanity.
Herb…

2. Louis Kessler (lkessler)
Canada flag
Joined: Sun, 9 Mar 2003
288 blog comments, 245 forum posts
Posted: Mon, 12 Oct 2009  Permalink

What you say makes sense, Herb. I’ve been putting a lot of pressure on myself to get a trial version available. So I really have 3 choices:

(1) Release the beta without some features it used to have (which you recommend I don’t do),
(2) Take the time to get the current bad bug out and then add the missing features, but with no trial available in the meantime, or
(3) Work to get the last alpha running again on my new machine with Delphi 2009 with minimal changes. This will take a few weeks and is a step backwards, but it may relieve the pressure I’m feeling about not having that trial download available.

I would not want Behold to be thought of as “crippled”, so I’m now ruling out #1.

I’ll give one more kick at getting the virtual view problems out, and if I can’t do that quickly, then I’ll probably go to number 2 to give me more time.

Leave a Comment

You must login to comment.

Login to participate
  
Register   Lost ID/password?