number of columns in a table field

Richard Gaskin ambassador at fourthworld.com
Wed May 31 11:24:31 EDT 2006


Jonathan Lynch wrote:
> my psuedo-table object works pretty well - Marielle made it available on his
> site. It addresses many of these concerns.
> 
> However, I would not use it for thousands of rows. For a couple hundred
> rows, it works ok, but for 2 or 3 thousand rows - well, that is just too
> many sub groups for the engine to handle quickly.

I've been using nested groups as custom tables for quite some time, but 
curious about the threshold for bad behavior I did some testing:

1. Make a group -- two buttons, two fields, each 23px high, in a row
2. Group it, name the group "record"
3. Make a copy of that group, group both groups, and name the new master
    group "main"
4. Make a button with this script:

on mouseUp
   put 2113 into n
   --
   lock screen
   lock messages
   --
   -- delete old groups:
   repeat with 1 = the number of grps of grp "main" down to 2
     delete grp 2 of grp "main"
   end repeat
   --
   set the vscroll of grp "main" to 0
   put 0 into i
   if the optionKey is "down" then exit to top
   repeat n
     add 1 to i
     clone grp "record" of grp "main"
     set the topleft of it to the bottomleft of grp i of grp "Main"
   end repeat
   --
   put the formattedheight of grp "main"
end mouseUp


What I found is that the number shown above assigned to N is the max I 
can create here without odd positioning of objects.  If I exceed that I 
start getting row groups positioned over other row groups.

The formattedHeight of the "main" group is shown as 32806 -- 
suspiciously close to 32767 (32k), the old buffer limit for QuickDraw.

So this may suggest that the internal routines for buffering groups is 
either using the old QD API, or has internal limits about the same as QD's.

It's worth noting that 32,806 is almost 38 feet at 72dpi, which is 
plenty for most uses so I can't really call this a bug.

But it might make a useful enhancement request to explore extending that 
buffer size.

Or would it?  There's already a request for compound-object tables, so 
if that gets done will we need position objects for any other purpose 
farther than 38 feet in either direction?

--
  Richard Gaskin
  Managing Editor, revJournal
  _______________________________________________________
  Rev tips, tutorials and more: http://www.revJournal.com



More information about the use-livecode mailing list