working method?

Rob Cozens rcozens at pon.net
Thu Oct 27 11:38:40 EDT 2005


Hello Charles,

>I'm wondering how people adjust their
>workflow to the way Transcript's code is dispersed among many
>separate scripts.

First, let me note that for moi personally, the greatest difficulty in 
mastering xTalk scripting had more to do with understanding what handlers 
were triggering other handlers than where to find the handler to edit 
it.  Taking into account that one program statement (eg: "go next card") 
can result in the running of several different handlers (eg: closeField, 
closeCard, preopenCard, openCard), some of which may reside in scripts of 
different objects, required the most effort in my initial learning 
period.  I believe an understanding of the message hierarchy should preceed 
a decision regarding script location.

That being said, I too find myself asking "where did I place that handler?" 
from time to time...ergo I have not found the perfect answer.  Here are my 
thoughts:

* Handlers, images,and other resources shared by multiple stacks/apps 
should go in one or more library stacks.

* Handlers specific to a control should reside in that control.

* For grouped controls, I prefer one mouseUp handler in the group script as 
opposed to individual mouseUp handlers in each control in the group.

* In some cases (eg: library stacks), preOpenStack and openStack handlers 
should be placed in the script of the first card instead of the stack 
script, so they run when the stack is actually opened but not when one 
starts using it.

* In some cases it makes sense to have handlers with the same name located 
at different levels of the message hierarchy and have the lower-level 
handler pass the message to a general routine after doing work specific to 
the lower-level control.

Rob Cozens CCW
Serendipity Software Company

"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) 




More information about the use-livecode mailing list