Re: Again with the start using

2004-03-05 Thread Dar Scott
On Friday, March 5, 2004, at 09:58 AM, Richard Gaskin wrote:

That's a very interesting case. When I make compound objects 
(grouped controls that act as a single object with their own 
properties and behaviors) I tend to put the code driving them into one 
library.
This is what I have been calling custom controls.  Well, maybe custom 
controls are more general as they might include some made from a single 
control that is not a group.  I don't mind adapting to what other folks 
call them.  I think a problem with compound object is that it 
emphasizes the compound nature and not the single control nature.

Thus far, the only time I've needed frontscripts for these is in 
development mode, when I need to update an Inspector for that 
compound object type.
We have unshared field text and button highlight.  Suppose I make a 
custom control that has/is an unshared image.  This needs to update 
the image at preOpenCard.  This custom control might be on the card 
or in a group or even (as implied by its capability, usually) in a 
shared group.  There might be several on the card some nested down in 
groups.

It might be useful to see two enhancements:

- a lockGroup property that allows a group to act as a single control, 
even when the selectGroupedControls property is true.
Yes.  As we (list) discussed earlier, there are different styles and 
I've been thinking of adding a brief thought to that.  I've been trying 
to collect methods to protect the using-developer from breaking 
compound objects and maybe turn lemons to lemonade and exploit 
selectGroupedControls.  Maybe there can also be an effective or other 
keyword modifier for number of or layer referencing that does not 
penetrate these.

- parentScripts, discussed for years on the MC list and with Raney so 
one could designate a single script to be in the message path for a 
class of objects but not others.
I am coping with stack libraries, so this is not needed for me.

There is a bugzilla request for encryption of custom control scripts 
and this is probably a workaround much of that.  If most of the scripts 
are in the library then the custom control exposes less.  Many (most?) 
developers will produce more custom controls if they feel they can hide 
insides and productize.

There is a little problem with making sure all the support pieces are 
put in the right places when a custom control is pasted or placed on a 
card.  I'm not able to make newGroup work for this.  I'm currently 
thinking that a plugin or custom control catalog might be needed for 
this, but folks might still copy and paste controls.  Another approach 
is the documentation approach When using this control, the library 
stack 'Dar's Meter Support' must set as a library with the 'set using' 
command.  The technique of having a hidden group with background set 
on the first card needs a method to place it there.  So...  For me, a 
copyGroup message (like newGroup) would make a parent script unneeded.

If the lockGroup property seems useful to you I'll post it there as 
well.
It would be.  I'm not sure of the name.  There might be other related 
custom control (aka compound object) goodies that are needed and the 
features might be coordinated.

The only problem with frontScripts is the number available at 
runtime, currently limited to 10.  But in practice, as often as I 
use frontScripts I've never needed more than three in all of the 
stuff I've ever built.
Well if somebody made a dozen different kinds of, say, meters, then a 
dozen frontscripts in a complicated application would be a problem.
Only if these meters are metering things related to system messages. 
Otherwise you don't really need a frontscript at all, except perhaps 
in development to build an editor for them that traps 
selectedObjectChanged to update itself.  But even then, in development 
there is no limit to the number of frontscripts
Suppose I make many of those meters out of needles that can be 
unshared.  The angles/positions need to be updated at preOpenCard.  
Suppose some of these have message machinery (use send or move or 
sockets or...).  They might need to start this at openCard and stop at 
closeCard.

Based on your earlier advice, I think I have a way to have my libraries 
or controls that need certain messages to use a couple common 
frontscripts for all controls and libraries in the super family of my 
controls and libraries.

Another possibility is openControl or openGroup etc. but this might 
have a bad impact on cards with a zillion controls; I haven't pondered 
on all the implications.  The openGroup might be less of a load.

I've been trying hard to find ways to support custom controls in 
general with the features we have.


 But if these use a single stack library and/or a single frontscript,
 then the problem is minimized.  At least one of the rev libraries is
 a frontscript, so rev libraries add to the competition.
If you include all Rev libs you will consume eight out of ten 
available 

Re: Again with the start using

2004-03-05 Thread Richard Gaskin
Dar Scott wrote:

On Friday, March 5, 2004, at 09:58 AM, Richard Gaskin wrote:

That's a very interesting case. When I make compound objects 
(grouped controls that act as a single object with their own 
properties and behaviors) I tend to put the code driving them into one 
library.
This is what I have been calling custom controls.  Well, maybe custom 
controls are more general as they might include some made from a single 
control that is not a group.  I don't mind adapting to what other folks 
call them.  I think a problem with compound object is that it 
emphasizes the compound nature and not the single control nature.
Agreed.  Custom control is more useful in more circumstances.

Thus far, the only time I've needed frontscripts for these is in 
development mode, when I need to update an Inspector for that 
compound object type.
We have unshared field text and button highlight.  Suppose I make a 
custom control that has/is an unshared image.  This needs to update 
the image at preOpenCard.  This custom control might be on the card or 
in a group or even (as implied by its capability, usually) in a shared 
group.  There might be several on the card some nested down in groups.
In that case your library isn't interested in all preOpenCard messages 
but only those occurring in its instances, so maybe a custom message is 
in order -- in your group you could write:

  on preOpenCard
libDarObjectInit
pass preOpenCard
  end preOpenCard
...and define libDarObjectInit in your library.


It might be useful to see two enhancements:

- a lockGroup property that allows a group to act as a single control, 
even when the selectGroupedControls property is true.


Yes.  As we (list) discussed earlier, there are different styles and 
I've been thinking of adding a brief thought to that.  I've been trying 
to collect methods to protect the using-developer from breaking 
compound objects and maybe turn lemons to lemonade and exploit 
selectGroupedControls.  Maybe there can also be an effective or other 
keyword modifier for number of or layer referencing that does not 
penetrate these.
Agreed.  Feel like posting that to Bugzilla?

...
Suppose I make many of those meters out of needles that can be 
unshared.  The angles/positions need to be updated at preOpenCard.  
Suppose some of these have message machinery (use send or move or 
sockets or...).  They might need to start this at openCard and stop at 
closeCard.

Based on your earlier advice, I think I have a way to have my libraries 
or controls that need certain messages to use a couple common 
frontscripts for all controls and libraries in the super family of my 
controls and libraries.
That's how my libs work, but I generally require few frontScripts.  In 
the absence of a greater number of frontsccripts, you could use one as a 
dispatcher, trapping a variety of messages for multiple libraries.  It 
does complicate things for distributing them to work independently in 
others' stuff, though.

I've been trying hard to find ways to support custom controls in general 
with the features we have.
I'm a big fan of seeing what we can do to empower ourselves, and 
resorting to waiting only when necessary.


 But if these use a single stack library and/or a single frontscript,
 then the problem is minimized.  At least one of the rev libraries is
 a frontscript, so rev libraries add to the competition.
If you include all Rev libs you will consume eight out of ten 
available backscript slots.  Fortunately Geoff has devised a plan to 
reduce that to one, so it may be less of an issue going forward.
It would be nice if there was a policy in place that would increase the 
10-50-10 based on the max number use by the IDE provided support 
libraries in its history.  Or a very easy to buy and use add-on that 
could be used for both standalones and maybe library stacks that might 
be loaded by a standalone.
Agreed.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-04 Thread Rob Cozens
My admonition to pass preOpenCard might be lost or the admonition to 
call darsPreopenCard might be lost.
Either...if a copy of your library ends up on a developer's computer 
without the accompanying documentation.
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-04 Thread Dar Scott
On Thursday, March 4, 2004, at 06:29 AM, Rob Cozens wrote:

My admonition to pass preOpenCard might be lost or the admonition to 
call darsPreopenCard might be lost.
Either...if a copy of your library ends up on a developer's computer 
without the accompanying documentation.
Documentation!  Where do you come up with these wild ideas?

Seriously, I do hope pouring over docs every time one uses a library is 
minimized.

For this particular case, I think Richard's idea of a front script can 
apply to an entire family of libraries.  Now on to opening and closing 
custom controls...

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Rob Cozens
One additional note:

Serendipity Library's libraryStack handler not only checks to see if 
it is the target of the message, it also checks the state of a local 
variable to determine if libraryStack has already run once.  [I don't 
want to reinitialize variables once the library is in use:]

local sdbMessages
on libraryStack
  if the short name of the target is not Serendipity_Library.rev 
then pass libraryStack
  if sdbMessages is not empty then exit libraryStack
  -- variable initialization
end libraryStack

Note I do NOT pass libraryStack unless the target is not Serendipity 
Library, as I see nothing going on that other libraries need to know 
about.  And if they do need to know if Serendipity Library is in use, 
they can check the stacksInUse property.
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Dar Scott
On Wednesday, March 3, 2004, at 07:46 AM, Rob Cozens wrote:

Serendipity Library's libraryStack handler not only checks to see if 
it is the target of the message, it also checks the state of a local 
variable to determine if libraryStack has already run once.

Note I do NOT pass libraryStack unless the target is not Serendipity 
Library, as I see nothing going on that other libraries need to know 
about.
Then we are consistent in style.  I may have implied that I pass 
libraryStack in all cases, which is not the case.

I have noticed these variations:

if the target is me then
if the short name of the target is the short name of me then
if the short name of the target is name of my library then
I have no idea if there is any merit of one over another.

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Rob Cozens
if the target is me then
if the short name of the target is the short name of me then
if the short name of the target is name of my library then
I have no idea if there is any merit of one over another.
Hi Dar,

They all work.  #1 obviously gets the award for brevity.  I like #3 
because I still find some lingering tendency to want to confuse me 
and this [stack, card, control], especially when dealing with modal 
stacks.
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Dar Scott
On Wednesday, March 3, 2004, at 10:32 AM, Richard Gaskin wrote:

Given that a library should always perform those two checks anyway (to 
see if it is the target of the message and whether it's been 
initialized already), what is the downside to passing that system 
message just as one would usually want to pass all others?
Do you mean in all cases?

For me...

I think of many other messages as belonging to all, but libraryStack as 
belonging to the library stack. (I pass only if it is not for the 
stack.)

However, I don't have a strong feeling on this one and would try to go 
along with common practice and good style and...

Is it really a consensus that certain messages, such as openCard, 
should pass down the path?  What are those messages?

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Richard Gaskin
Rob Cozens wrote:

Serendipity Library's libraryStack handler not only checks to see if it 
is the target of the message, it also checks the state of a local 
variable to determine if libraryStack has already run once.  [I don't 
want to reinitialize variables once the library is in use:]
A good choice, sorely absent from my example but well worth doing.

Note I do NOT pass libraryStack unless the target is not Serendipity 
Library, as I see nothing going on that other libraries need to know 
about.  And if they do need to know if Serendipity Library is in use, 
they can check the stacksInUse property.
While for most practical purposes there will not likely be any other 
library or backscript that would need to know when a libraryStack 
handler is sent to your library, it is a possibility.  While admittedly 
unlikely, over the years I've come to regard unlikely as possible, 
and possible as will happen sooner or later.  I've found a majority 
of issues in using my work in other people's environments stem from 
making assumptions about the environment, which has led to my personal 
policy of always preserving the native state of things wherever I have 
the opportunity to do so.

Requiring polling the stacksInUse is less efficient for that purpose, 
but on balance if another stack needs an event-driven method the best 
place for that might be in a frontScript anyway.

Given that a library should always perform those two checks anyway (to 
see if it is the target of the message and whether it's been initialized 
already), what is the downside to passing that system message just as 
one would usually want to pass all others?

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Rob Cozens
However, I don't have a strong feeling on this one and would try to 
go along with common practice and good style and...
Dar, et al:

Certainly the legacy from virtually all HyperTalk handlers written 
and distributed by Apple as part of the HyperCard package is to pass 
all such messages.  The logic, I suppose, emphasizes modularity, and 
thus may make sense when a team of programmers is working on project 
where some event needs to trigger multiple handlers.

But for one-developer standalone projects, I don't see the need. 
Perhaps down deep I, like Alex, have an aversion to sending or 
passing a message to nowhere.

   :{`)

Anyway, I know where the messages in my applications are supposed to 
be handled, and I don't pass them unless I know they need to be 
handled further up/down (as you choose) the line.

And in cases like Serendipity Library, where I'm building a resource 
that others might incorporate into their own applications, I try to 
contain the functionality of Library calls such that they won't 
affect the runtime environment or other libraries.
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Dar Scott
On Wednesday, March 3, 2004, at 10:02 AM, Rob Cozens wrote:

The logic, I suppose, emphasizes modularity, and thus may make sense 
when a team of programmers is working on project where some event 
needs to trigger multiple handlers.

But for one-developer standalone projects, I don't see the need.
As we grow as a community we might be using more and more stack 
libraries from other sources including custom controls that require 
stack libraries.

I assume most folks pass preOpenCard down the message path, for 
example.  If I have a library stack that uses that, I need to doc that. 
 If this is not really a common style, I might want to add a handler 
that must be called on preOpenCard and make that an alternative method.

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Rob Cozens
I assume most folks pass preOpenCard down the message path, for 
example.  If I have a library stack that uses that, I need to doc 
that.  If this is not really a common style, I might want to add a 
handler that must be called on preOpenCard and make that an 
alternative method.
I suggest it should be the second approach, Dar:

If your library wants a call to darsPreopenCard whenever any card in 
any stack is opened from a developer's standalone or stack, your 
documentation should tell the developer to place the call in their 
script

on preOpenCard
darsPreopenCard
end preOpenCard
It just strikes me that a library distributed for general purpose use 
by who-knows-who should not respond to any message other than a call 
to a library handler and the libraryStack message sent to it when it 
is placed in use.

In this regard, a library's own open/preopen stack and closeStack 
handlers should be located in the script of the first card, rather 
than in the library stack script.  This prevents the library from 
intercepting those messages when they are sent to other stacks.
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Richard Gaskin
Dar Scott wrote:

On Wednesday, March 3, 2004, at 10:32 AM, Richard Gaskin wrote:

Given that a library should always perform those two checks anyway (to 
see if it is the target of the message and whether it's been 
initialized already), what is the downside to passing that system 
message just as one would usually want to pass all others?
Do you mean in all cases?
I don't know that anything in programming lends itself to absolutes. :)

Is it really a consensus that certain messages, such as openCard, should 
pass down the path?  What are those messages?
I picked up the habit of passing system messages from an old book, 
Tricks of the HyperTalk Masters, and possibly from Thimbleby and 
Colouris' HyperTalk Programming (my copy was loaned out many years 
ago, and as happens with many good books it's never come back, and is 
long since out of print).

It proved useful in those days because I would often want to augment 
behavior for an event and found, as those writers suggested, that as 
long as I passed my system messages I'd left an open door to do that. 
Without passing system messages the door is closed, until you write a 
worm to go back and revise the scripts of the objects whose behavior you 
want to change, easier done in one's office than throughout an installed 
based.

But of course, the difficulty is that to rely on messages being passed 
requires that everyone play ball; great for your own team but impossible 
to depend on for libraries designed for use in other people's 
environments.  A lot of the code bases I work on today were inherited, 
mostly ports from other systems, so there are few assurances of 
stylistic consistency.

The solution to this came in 1994 when SuperCard introduced 
frontScripts, allowing you to trap system messages before any other 
object gets them.  This was added to MetaCard not long after.  There are 
rare cases in which it may be especially useful to get the messages 
after the target is done with them, but for the most part frontScripts 
are the optimal choice for trapping system messages in other people's 
environments.

In a frontScript, it is almost always essential that all messages always 
be passed; there may be an exception worth honoring, but in general if 
you don't pass system messages in a frontScript the result will be 
undesirable, as not even the target will get them.

In my own stuff I tend to pass all card- and stack-related messages 
everywhere, and  often don't bother with the mouse messages in 
not-frontScript objects.

The libraryStack message is a bit of a Schroedinger's Cat, since on the 
one hand you may want to preserve the native state of things, but on the 
other hand the native state of things doesn't include your stack which 
is the reason that instance of the libraryStack message is sent.  But 
continuing down the rabbit hole, maybe it's a case of sum ergo passo 
(I exists, therefore I pass), in which the existence of the stack in 
the message queue may just as well be seen as a natural thing, and 
therefore any outside script monitoring such things should rightfully 
expect the libraryStack message to be comin' down the pike (though I'd 
be surprised if someone writing something so exotic wouldn't prefer the 
greater reliability of a frontScript).

But just as Schroedinger's Cat is an unnecessarily complicated 
discussion for a relatively simple idea, so is that last paragraph. :)

As much as rational minds strive for absolutes, I think a lot of nuances 
surrounding when to pass system messages depend on what you're working 
on and your own personal comfort zone.

Here, when something works I use it, and when it no longer works I write 
a worm. :)  I always pass everything in any script I write for global 
access (frontScripts, backScripts, libraries), and discriminate based on 
contextual considerations in non-shared objects.

As a relevant side note, many messages the IDE relies on are handled in 
backScripts like revGeneral, where you'll find handlers for things like 
the powerful selectedObjectChanged message.  If you're making a drawing 
app and don't pass that message the IDE will not function; this may be a 
downside for those getting started but offers a convenience for pros in 
being able to override IDE behaviors without having to first remove IDE 
scripts from the message path.  As much as I appreciate that convenience 
myself, I would probably make the pros work a little harder if it would 
help protect newcomers, so I wonder if Rev has considered migrating 
those handlers to a frontScript going forward.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Dar Scott
On Wednesday, March 3, 2004, at 12:44 PM, Richard Gaskin wrote:

But of course, the difficulty is that to rely on messages being passed 
requires that everyone play ball; great for your own team but 
impossible to depend on for libraries designed for use in other 
people's environments.  A lot of the code bases I work on today were 
inherited, mostly ports from other systems, so there are few 
assurances of stylistic consistency.
Well, I can say this in my stack doc/note:  Here is how my stack 
works.  There are some options depending on your scripting style.  If 
your style does not fit any of those, adapt.

What I'd like to do is select a default so it works just by somebody 
dropping it into an app.  I'd like to have options to accommodate those 
who don't see the world the way I do.

In all that it should be easy and work right off.  If folks have 
different approaches to handling, say, preOpenCard, then that gets 
hard.  If some folks hide preOpenCard from the libraries, then some 
other method would be needed.

I had made the silly assumption that, of course, everybody passes 
preOpenCard.

I now have to think on how to make sure all works whether it is passed 
or not.

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-03 Thread Dar Scott
On Wednesday, March 3, 2004, at 11:12 AM, Rob Cozens wrote:

If your library wants a call to darsPreopenCard whenever any card in 
any stack is opened from a developer's standalone or stack, your 
documentation should tell the developer to place the call in their 
script
...or to pass preOpenCard, as you said originally.

I guess so long as you communicate this to the developer, it works 
either way.

But not intercepting standard system messages seems safer in the event 
that your admonition is lost or forgotten.
My admonition to pass preOpenCard might be lost or the admonition to 
call darsPreopenCard might be lost.

Dar Scott

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using

2004-03-03 Thread Richard Gaskin
Dar Scott wrote:

What I'd like to do is select a default so it works just by somebody 
dropping it into an app.  I'd like to have options to accommodate those 
who don't see the world the way I do.

In all that it should be easy and work right off.  If folks have 
different approaches to handling, say, preOpenCard, then that gets 
hard.  If some folks hide preOpenCard from the libraries, then some 
other method would be needed.
If you need access to system messages, the most reliable place to hook 
into them is in a fronscript.

While we can debate the relative efficacy of using the engine's built-in 
messages vs. inventing any manner of mirrored versions of those for 
libraries, frontScripts are a special, sacred place.

I would not heitate to describe a frontscript intended for general use 
that doesn't pass all system messages as a bug to be reported to the author.

There may be specialized cases where blocking messages before the target 
gets them is desirable, but such tools would be highly specialized and 
should come with warning signs in bright neon to avoid folks pulling 
their hair out trying to figure out why their scripts no longer trigger.

I had made the silly assumption that, of course, everybody passes 
preOpenCard.
If frontScripts they do.  If not it's either a bug, or a very unusual 
tool that should be wearing the afore-mentioned neon sign around its neck.

I now have to think on how to make sure all works whether it is passed 
or not.
Just use frontScripts for system-message traps and backscripts or 
libraries for custom handlers and you're set.

The only problem with frontScripts is the number available at runtime, 
currently limited to 10.  But in practice, as often as I use 
frontScripts I've never needed more than three in all of the stuff I've 
ever built.

Far more common than system message traps are collections of custom 
routines, for which libraries are ideal and you can use up 50 at runtime.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Again with the start using.

2004-03-01 Thread Kevin


Please, explain why I am getting a error with the following.


on include theStack
start using value(theStack)
end include 

on preOpenStack 
package library.rev
end preOpenStack

I believe the value is not the approiate construct what should I use?

Kevin



-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-
Disclaimer:

Any resemblance between the above views and those of my
employer, my terminal, or the view out my window are purely
coincidental. 
Any resemblance between the above and my own views is non-deterministic.

 The question of the existence of views in the absence of anyone to hold
them
is left as an exercise for the reader. The question of the existence of
the reader
 is left as an exercise for the second god coefficient. 
(A discussion of non-orthogonal, non-integral polytheism is beyond the
scope of this article.)



___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Again with the start using.

2004-03-01 Thread Kevin


I am currently using the following:

do start using  quote theVariable  quote 

This is working I believe however, I am not sure of what this will do in a standalone.

Kevin



-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-
Disclaimer:

Any resemblance between the above views and those of my
employer, my terminal, or the view out my window are purely
coincidental. 
Any resemblance between the above and my own views is non-deterministic.

 The question of the existence of views in the absence of anyone to hold
them
is left as an exercise for the reader. The question of the existence of
the reader
 is left as an exercise for the second god coefficient. 
(A discussion of non-orthogonal, non-integral polytheism is beyond the
scope of this article.)



 --- On Mon 03/01, Kevin  [EMAIL PROTECTED]  wrote:
From: Kevin [mailto: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Mon,  1 Mar 2004 13:12:52 -0500 (EST)
Subject: Again with the start using.

brbrPlease, explain why I am getting a error with the following.brbrbron 
include theStackbrstart using value(theStack)brend include brbron 
preOpenStack brpackage library.revbrend preOpenStackbrbrI believe the 
value is not the approiate construct what should I 
use?brbrKevinbrbrbrbr-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-brDisclaimer:brbrAny
 resemblance between the above views and those of mybremployer, my terminal, or the 
view out my window are purelybrcoincidental. brAny resemblance between the above 
and my own views is non-deterministic.brbr The question of the existence of views 
in the absence of anyone to holdbrthembris left as an exercise for the reader. The 
question of the existence ofbrthe readerbr is left as an exercise for the second 
god coefficient. br(A discussion of non-orthogonal, non-integral polytheism is 
beyond thebrscope of this article.)brbrbrbr__
 _brJoin Excite! - http://www.excite.combrThe most 
personalized portal on the 
Web!br___bruse-revolution mailing 
listbr[EMAIL 
PROTECTED]brhttp://lists.runrev.com/mailman/listinfo/use-revolutionbr

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Again with the start using.

2004-03-01 Thread Kevin

Oddly enough the method using the method below does not display the stack in the 
Application Browser.  Is it working?

do start using  quote theVariable quote 

Kevin



-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-
Disclaimer:

Any resemblance between the above views and those of my
employer, my terminal, or the view out my window are purely
coincidental. 
Any resemblance between the above and my own views is non-deterministic.

 The question of the existence of views in the absence of anyone to hold
them
is left as an exercise for the reader. The question of the existence of
the reader
 is left as an exercise for the second god coefficient. 
(A discussion of non-orthogonal, non-integral polytheism is beyond the
scope of this article.)



 --- On Mon 03/01, Kevin  [EMAIL PROTECTED]  wrote:
From: Kevin [mailto: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Mon,  1 Mar 2004 13:20:42 -0500 (EST)
Subject: RE: Again with the start using.

brbrI am currently using the following:brbrdo start using  quote 
theVariable  quote brbrThis is working I believe however, I am not sure of what 
this will do in a 
standalone.brbrKevinbrbrbrbr-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-brDisclaimer:brbrAny
 resemblance between the above views and those of mybremployer, my terminal, or the 
view out my window are purelybrcoincidental. brAny resemblance between the above 
and my own views is non-deterministic.brbr The question of the existence of views 
in the absence of anyone to holdbrthembris left as an exercise for the reader. The 
question of the existence ofbrthe readerbr is left as an exercise for the second 
god coefficient. br(A discussion of non-orthogonal, non-integral polytheism is 
beyond thebrscope of this article.)brbrbrbr --- On Mon 03/01, Kevin  [EMAIL 
PROTECTED]  wrote:brFrom: Kevin [mailto: [EMAIL PROTECTED]brTo: [EMAIL 
PROTECTED]brDate
 : Mon,  1 Mar 2004 13:12:52 -0500 (EST)brSubject: Again with the start 
using.brbrbrbrPlease, explain why I am getting a error with the 
following.brbrbron include theStackbrstart using value(theStack)brend 
include brbron preOpenStack brpackage library.revbrend 
preOpenStackbrbrI believe the value is not the approiate construct what should I 
use?brbrKevinbrbrbrbr-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-brDisclaimer:brbrAny
 resemblance between the above views and those of mybremployer, my terminal, or the 
view out my window are purelybrcoincidental. brAny resemblance between the above 
and my own views is non-deterministic.brbr The question of the existence of views 
in the absence of anyone to holdbrthembris left as an exercise for the reader. The 
question of the existence ofbrthe readerbr is left as an exercise for the second 
god coefficient. br(A discussion of non-orthogonal, non-integral polyt
 heism is beyond thebrscope of this 
article.)brbrbrbr__br _brJoin 
Excite! - http://www.excite.combrThe most personalized portal on the 
Web!br___bruse-revolution mailing 
listbr[EMAIL 
PROTECTED]brhttp://lists.runrev.com/mailman/listinfo/use-revolutionbrbrbr___brJoin
 Excite! - http://www.excite.combrThe most personalized portal on the 
Web!br___bruse-revolution mailing 
listbr[EMAIL 
PROTECTED]brhttp://lists.runrev.com/mailman/listinfo/use-revolutionbr

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


RE: Again with the start using.

2004-03-01 Thread Ken Ray
 on include theStack
 start using value(theStack)
 end include 

Try just:

  start using theStack

Ken Ray
Sons of Thunder Software
Email: [EMAIL PROTECTED]
Web Site: http://www.sonsothunder.com/ 


___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Kevin wrote:

Please, explain why I am getting a error with the following.

on include theStack
start using value(theStack)
end include 

on preOpenStack 
package library.rev
end preOpenStack

I believe the value is not the approiate construct what should I use?
Hard to say without know the value of theStack.

All you need is a stack descriptor, something like:

  start using components/libMyStuff.rev

  start using mySubStackName

PS: Love your sigline. :)

PPS: When I click Reply in Mozilla, I get the both the sender's address 
and the list address in the Send field of my reply.  I only see this on 
this list.  I've been manually deleting the redundant sender address (we 
know they're already on the list or I wouldn't be able to read their 
mail).  Can the list admin set it up to work like other lists, where 
Reply simply puts in the address of the list?

--
 Richard Gaskin
 Fourth World Media Corporation
 Developer of WebMerge: Publish any database on any Web site
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-
Disclaimer:
Any resemblance between the above views and those of my
employer, my terminal, or the view out my window are purely
coincidental. 
Any resemblance between the above and my own views is non-deterministic.

 The question of the existence of views in the absence of anyone to hold
them
is left as an exercise for the reader. The question of the existence of
the reader
 is left as an exercise for the second god coefficient. 
(A discussion of non-orthogonal, non-integral polytheism is beyond the
scope of this article.)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Kevin wrote:

Oddly enough the method using the method below does not display
 the stack in the Application Browser.  Is it working?
do start using  quote theVariable quote 
Does the stack name appear in the list of libraried stacks in the 
Message Box?

--
 Richard Gaskin
 Fourth World Media Corporation
 Developer of WebMerge: Publish any database on any Web site
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Rob Cozens
All you need is a stack descriptor, something like:

  start using components/libMyStuff.rev
Richard, et al:

Does that work?  The examples in Rev Dictionary show:

  start using stack components/libMyStuff.rev

so I have always included stack
--
Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Rob Cozens wrote:

All you need is a stack descriptor, something like:

  start using components/libMyStuff.rev


Richard, et al:

Does that work?  The examples in Rev Dictionary show:

  start using stack components/libMyStuff.rev

so I have always included stack
It's one of the flexibilities of the language, like using the cursor 
or simply cursor.

In my experience you can optionally drop stack from the start using, 
toplevel, palette, modal and modeless commands (possibly others as well, 
but I'm sleep-deprived today and can't think of any more g).

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Mark Wieder
Richard-

Monday, March 1, 2004, 11:00:59 AM, you wrote:

RG It's one of the flexibilities of the language, like using the cursor
RG or simply cursor.

RG In my experience you can optionally drop stack from the start using,
RG toplevel, palette, modal and modeless commands (possibly others as well,
RG but I'm sleep-deprived today and can't think of any more g).

Not always. I just spent several nerve-wracking hours yesterday
tracking down a problem in my code that had to do with leaving out the
word stack:

I have the name of my main stack placed in global gMainStack. Then

repeat with x=1 to the number of cards of stack gMainStack
  ^
gives an *entirely* different result from

repeat with x=1 to the number of cards of gMainStack

when called from a substack.

I have 26 cards in my main stack and I kept getting a result of 2 (the
number of cards in the substack I was calling from) from this line
before I realized that I had forgotten the keyword stack. Apparently
everything after the number of cards argument was just getting
ignored if I left off the qualifier.

I'm gonna bugzilla this one. I'd rather have the compiler flag an
error for me than just treat the rest of the line as a comment.

-- 
-Mark Wieder
 [EMAIL PROTECTED]

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Mark Wieder
Richard-

Monday, March 1, 2004, 10:38:21 AM, you wrote:

RG PPS: When I click Reply in Mozilla, I get the both the sender's address
RG and the list address in the Send field of my reply.  I only see this on
RG this list.  I've been manually deleting the redundant sender address (we
RG know they're already on the list or I wouldn't be able to read their
RG mail).  Can the list admin set it up to work like other lists, where
RG Reply simply puts in the address of the list?

Yes, this drives me crazy, too. What usually happens is I end up
accidentally sending mail just to the recipient when I really mean to
send it just to the list.

Listmom, can this be fixed?

-- 
-Mark Wieder
 [EMAIL PROTECTED]

___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Kevin

Does the stack name appear in the list of libraried stacks in the Message Box?

Interesting I did not see that in the Message Box!  It seems the library stacks in 
question are listed as Stacks in Use.  Is this normal? 

Kevin






 --- On Mon 03/01, Richard Gaskin  [EMAIL PROTECTED]  wrote:
From: Richard Gaskin [mailto: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Mon, 01 Mar 2004 10:42:57 -0800
Subject: Re: Again with the start using.

Kevin wrote:brbr Oddly enough the method using the method below does not 
displaybr  the stack in the Application Browser.  Is it working?br br do 
start using  quote theVariable quote brbrDoes the stack name appear in the 
list of libraried stacks in the brMessage Box?brbr-- br  Richard Gaskinbr  
Fourth World Media Corporationbr  Developer of WebMerge: Publish any database on any 
Web sitebr  ___br  [EMAIL 
PROTECTED]   
http://www.FourthWorld.combr___bruse-revolution
 mailing listbr[EMAIL 
PROTECTED]brhttp://lists.runrev.com/mailman/listinfo/use-revolutionbr

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Kevin wrote:

Does the stack name appear in the list of libraried stacks in the 
Message Box? 
Interesting I did not see that in the Message Box!  It seems the
 library stacks in question are listed as Stacks in Use.
 Is this normal?
Yes.  The stackInUse function returns a list of all currently libraried 
stacks.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Rob Cozens
It seems the library stacks in question are listed as Stacks in 
Use.  Is this normal?
Yup.  When a start using ... statement is processed successfully, 
the library stack is added to the stacksInUse property.  The Message 
Box button, as you know, displays the contents of stacksInUse, which 
you can also reference by script:

  if someLibrary is not in the stacksInUse then answer error 
someLibraryis unavailable!
--

Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Rob Cozens
The stackInUse function returns a list of all currently libraried stacks.
Richard, et al:

FWIW, the Rev Dictionary defines stacksInUse as a property, not a 
function, and put stacksInUse() from the Message Box returns an 
error.

Get some rest, Richard. :{`)
--
Rob Cozens
CCW, Serendipity Software Company
http://www.oenolog.net/who.htm
And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee.
from The Triple Foole by John Donne (1572-1631)
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Rob Cozens wrote:

FWIW, the Rev Dictionary defines stacksInUse as a property, not a 
function, and put stacksInUse() from the Message Box returns an error.

Get some rest, Richard. :{`)
I need it, but this is a language subtlety that has conused me even when 
well rested.

I tend to think of a token for read-only data that can only be 
determined at runtime as a function.  After all, if the stacksInUse is a 
property one might expect to be able do something like:

  set the stacksInUse to empty

I just tried that and it says I can't modify that property, yet indeed 
I have complete control over its value, only I have to use stop using 
in a loop rather than the set command, which is otherwise the cardinal 
way to set the value of a property.

So is it truly behaving more like a property than a function?

The is no help here, as it can be optionally used with many functions 
while being required for most properties (though I've never seen the 
benefit of also allowing it for functions; it seems to slow 
learnability, evidenced perhaps only by my confusion on this after 15 
years g).

By what rules could one intuit whether a given token is a function or a 
property?

Jeanne, what's Kamins' argument for this one?

And what is the rule that determines when the is necessary?  Is it 
required for custom props only, and optional with all others?

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Kevin

So, a stack initiated by a start using is not listed in the Application browser.  
Okay, so when building a standlone what happens to start using statements on 
preOpenCard?  Does the distribution builder redefine start using as NOOP?


-==-=-=-=-=-=-==-=-=-=-=-=-=-=-==-=-=-=-=-=-
Disclaimer:

Any resemblance between the above views and those of my
employer, my terminal, or the view out my window are purely
coincidental. 
Any resemblance between the above and my own views is non-deterministic.

 The question of the existence of views in the absence of anyone to hold
them
is left as an exercise for the reader. The question of the existence of
the reader
 is left as an exercise for the second god coefficient. 
(A discussion of non-orthogonal, non-integral polytheism is beyond the
scope of this article.)



 --- On Mon 03/01, Richard Gaskin  [EMAIL PROTECTED]  wrote:
From: Richard Gaskin [mailto: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Date: Mon, 01 Mar 2004 13:08:05 -0800
Subject: Re: Again with the start using.

Kevin wrote:brbrDoes the stack name appear in the list of libraried stacks in 
the brMessage Box? br br Interesting I did not see that in the Message Box!  
It seems thebr  library stacks in question are listed as Stacks in Use.br  Is 
this normal?brbrYes.  The stackInUse function returns a list of all currently 
libraried brstacks.brbr-- br  Richard Gaskinbr  Fourth World Media 
Corporationbr  ___br  
[EMAIL PROTECTED]   
http://www.FourthWorld.combr___bruse-revolution
 mailing listbr[EMAIL 
PROTECTED]brhttp://lists.runrev.com/mailman/listinfo/use-revolutionbr

___
Join Excite! - http://www.excite.com
The most personalized portal on the Web!
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Richard Gaskin
Kevin wrote:

So, a stack initiated by a start using is not listed in the
 Application browser.

Stacks in use are not open.  Opening a stack is a very different thing. 
 Start using merely inserts the stack script in the message path, but 
does not open nor render the stack.

--
 Richard Gaskin
 Fourth World Media Corporation
 ___
 [EMAIL PROTECTED]   http://www.FourthWorld.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution


Re: Again with the start using.

2004-03-01 Thread Jeanne A. E. DeVoto
At 1:44 PM -0800 3/1/2004, Richard Gaskin wrote:
By what rules could one intuit whether a given token is a function 
or a property?

Jeanne, what's Kamins' argument for this one?
You mean Winkler's? I'm not sure myself. I do note though that global 
properties in HyperTalk can be expressed as properties of HyperCard - 
for example, if the suspended of HyperCard is true... Written this 
way, there's no ambiguity - all properties are of something - and 
it could be that leaving off the of HyperCard was originally a 
shortcut.

Differentiating between global properties and no-parameter functions 
is difficult for me too, for what it's worth. (It's the main reason 
that for HT 2.2: The Book, I reorganized the language reference to 
put the terms in alphabetical order, instead of grouped by type of 
term - with the first edition, I was always having to look under both 
Functions and Properties to find things.)

But I rarely use the () form for functions that don't take a 
parameter, so in practice the confusion isn't normally a problem for 
me personally when scripting. Just when looking things up. ;-)

And what is the rule that determines when the is necessary?  Is it 
required for custom props only, and optional with all others?
I think so. (But it's strongly recommended to always use the to 
reference properties; not using the is one of those things that 
might not always be supported, so)
--
jeanne a. e. devoto ~ [EMAIL PROTECTED]
http://www.jaedworks.com
___
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution