Target not working???

Mark Wieder mwieder at ahsoftware.net
Tue Mar 28 14:54:46 CST 2006


David-

Tuesday, March 28, 2006, 10:07:25 AM, you wrote:

> function can be called at anytime, but to make it easier to use, I am
> scanning for the ISM_InitializeObject handler and if it's present,  
> call it. The ISM_InitializeObject in the target object can then call

...there's where I think you're fighting the natural xtalk message
path a bit.

Here's what I do in that situation: place the ISM_InitializeObject
handler in your library stack. Then have the openStack handler of each
stack send "ISM_InitializeObject" to every control in the stack. If
there's a ISM_InitializeObject handler in an object it will be
executed, otherwise the message will pass on down to your library
stack and do some default stuff if necessary. No scanning here.

-- in main stack
on openStack
  local x
  
  repeat with x=1 to the number of controls
    send "ISM_InitializeObject" to control x
  end repeat
end openStack

-- in ISM library stack
on ISM_InitializeObject
  local tTriggers

  -- get the list of events this object handles
  put the uRIP["triggers"] of the target into tTriggers
  repeat for each line tEvent in tTriggers
    -- do a default registration
    ISM_Register the id of the target, tEvent, "*"
  end repeat
end ISM_InitializeObject

-- 
-Mark Wieder
 mwieder at ahsoftware.net




More information about the use-livecode mailing list