CAUSE OF CRASH - was not the group items at all
Wilhelm Sanke
sanke at hrz.uni-kassel.de
Wed Jun 16 14:22:38 EDT 2004
OnTue, 15 Jun 2004 Bill <bill at bluewatermaritime.com> wrote:
> I was able to duplicate the cause of the crash.
> (snip)
> Anyway -- the cause of crash -- There are 100 fields on the card and 20 of
> them are off the bottom edge. I choose select all, copy all, make a new
> card, go to that card and then everything freezes (there is no spinning
> beach ball and no indication that the program has not crashed). If you
> wait
> like 10 minutes the freeze goes away but then if you choose paste, nothing
> pastes. So I try copying just 10 of the fields, one of which is off the
> bottom edge. When I do this -- it takes a very long time to go to the next
> card and the paste works although the field that was off the edge of the
> card pastes into the middle of the card.
Hi Bill,
As I have reported on several occasions, the Revolution IDE has various
problems when dealing with cards that contain a larger number of fields.
One cause - for some of the problems - can be located in the
frontscripts of the IDE; you could try to find out if it applies in your
case:
Part of the frontscripts is the script of button "revtable" of stack
"revlibrary", which is "inserted into front" when the IDE starts:
Button "revtable" contains the "table library" for "improved table field
interaction with databases" as the header says, but produces problems
for any type of application, i.e. also for such without table fields or
spreadsheets as it is in inadequately insulated from other types of
applications.
There are two instances of a loop with "number of fields" in the script
that can cause problems for cards with lots of fields.
The first - in the "on preopenstack" handler - is inoperative because
the "on" line is commented.(???)
The second is contained in the "revDeleteCellFields" handler which is
used among others in the "non-rev" handlers
- focusin
- focusout
- exitfield
- closefield
- scrollbardrag
- mouseup
Of these handlers "focusin", "focusout", and "exitfield" are those that
are insuffiently insulated against non-cell related objects, which means
that the Rev IDE begins looping over all fields on a card - in any
Revolution stack even if it does not contain a "table" - when one of the
three messages are sent.
Most of my problems with stacks containg larger number of fields went
away when I substituted the script of button "revtable" with an improved
script.
I reported this in a post to the improvement list "Some speed and other
problems solved" on April 16. Kevin Miller informed me on May 10 that he
had included this problem in the bug-auditing process.
You can test if your problem could be caused by this script by removing
the script of btn "revtable" from front.
Regards,
Wilhelm Sanke
More information about the use-livecode
mailing list