license issues (was mystery exception)

Ben Rubinstein benr_mc at cogapp.com
Thu Mar 13 08:01:01 EST 2003


(Sorry Geoff; this was one of those emails that I wrote a few days ago but
never sent - I write quite a lot of messages, and then leave them a while
before I choose whether to send them - if I think they won't add anything
useful to what's already quite a noisy list, I don't - in this case many
others jumped into the discussion, so I left it.  I wasn't raising the 'do
makeAccessVars' issue to say that I had a problem; only to illustrate how
one can be caught out with something that works in the IDE in all cases,
works in a standalone in some cases, but may one day encounter a case in the
standalone which fails, possibly silently, because of the starter kit
limits.)

Yes; it was a bit of a bummer when I found this problem.

But now that I know about it, it's not been a showstopper for me.  For
example, I rewrote the "makeAccessVars" function that I described so that
instead of returning a single line of semi-colon delimited statements it
returned them semi-colon delimited, in groups of five (jic) to a line.  (In
retrospect I don't know why I bothered grouping them...)  Existing code that
called "do makeAccessVars(...)" still worked.  The code that was potentially
dealing with many cases just had to be replaced with "repeat for each line x
in makeAccessVars(...)/do x/end repeat".  Not a huge hassle; and amply made
up for by the many ways in which Transcript gives me new and better features
top do my work.  Indeed, this particular requirement I would often now
prefer to handle by making an array mapping column names to indexes (if only
'split' worked correctly!) - which is to say that because Transcript is so
rich, there are many many choices of how to achieve things.

If I ignored the IDE situation, and just pretended that 'do' in Transcript,
unlike in HyperTalk, was _always_ limited to 10 statements; and that this
was a disadvantage, part of a small list that includes things like losing
the 'dial' command; and compare this list to the list of ways in which
Transcript improves on HyperTalk... richer control structures, looping by
chunk, arrays, no script limits, script locals, local properties, object
properties, direct manipulation of binary data... and that's even before you
look outside the language to see the richer range of controls, groups,
substacks etc; and that's even before you go into special areas of
functionality like databases, image manipulation, internet access...  When I
consider all that, I this minor limitation doesn't bother me much.

So, if your work is mostly intended to end up as standalones, I think this
is just one of those thinks you need to be aware of, like the need to build
in particular resources, think about where your default folder is, not
depend on saving changes in your main stack file.  And then I'd move on.
 
(and if you're really bothered by the limit, note that you can perform
multiple "do"s, and they retain the context.  So in many cases, if you're
really convinced you need to use a created on the fly script of more than 10
statements, you may be able to just "do" it a few lines at a time.  Ie:
    do "put 23 into x"
    do "put x"

will put 23.)

  Ben Rubinstein               |  Email: benr_mc at cogapp.com
  Cognitive Applications Ltd   |  Phone: +44 (0)1273-821600
  http://www.cogapp.com        |  Fax  : +44 (0)1273-728866





More information about the use-livecode mailing list