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.