On Apr 2, 2007, at 4:27 PM, Joe Lewis Wilkins wrote:

Graham and everyone else who is interested or should be,

Since I started this thread with what I thought was a fairly naive question with a pretty obvious conclusion, perhaps I should summarize the input - if that is possible, what with some of the quite lengthy monologues.

I believe that Richard and Jim have made the most poignant arguments both for and against the use of globals; and I was leaning very sharply in the CP direction until Graham made a very good point: CPs do tend to involve writing a lot more code, and I have to learn something that I've not used before; hence probably subject to some errors in usage on my part - typos and otherwise.

No one has mentioned what may be the most compelling reason to use custom properties in certain cases--the setProp structure. I used this for the first time about a year ago (I just had never noticed it before) and it opened up a whole new world for me. In a nutshell, one can use a setProp structure, whenever a custom property's value is set, to do whatever one wants. For instance, I was recently writing an app in which certain visual and behavioral things needed to change when a sound file was playing versus stopped. So I created a custom property isPlaying for the card and did something like this:

setProp isPlaying
  if isPlaying then
    set the icon of btn "play" to <pause icon>
    disable field "dialog"
  else
    set the icon of btn "play" to <back to the play icon>
    enable field "dialog"
  end if
  pass isPlaying
end isPlaying


Every time I start playing the sound file I also set the isPlaying of the card to true, then set it to false again when it stops. I've simplified the example here quite a bit, but this structure makes it much easier than trying to remember in which handlers you need to enable/disable things, change icons, etc.

You can also use setProp structures to validate data, to make sure it's in the property format or type or whatever.

Cheers.

Devin

Devin Asay
Humanities Technology and Research Support Center
Brigham Young University

_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to