Le 15 avr. 09 à 19:05, Dick Kriesel a écrit :

On 4/15/09 4:58 AM, "David Bovill" <[email protected]> wrote:

If you want them "inherited" you need to define a "getprop" handler.

You can inherit any custom property even without getprop handlers, by
walking through the object's long id until you find a value.

Here's a function that does that for any given custom property name, and
optionally any given custom property set name as well.

If you're interested in a similar function that identifies the object that
provided the effective value, let me know.

As usual, watch out for line wraps imposed by email.

-- Dick

<postScript>

function effectiveValue pCustomPropertyName,pCustomPropertySetName
 put long id of the target into tRevObject
 if pCustomPropertySetName is empty then
put "put the" && pCustomPropertyName && "of tRevObject into tValue" into
tStatement
 else
   put "put the" && pCustomPropertySetName & "[" & quote &
pCustomPropertyName & quote & "] of tRevObject into tValue" into tStatement
 end if
 lock messages
 repeat until tRevObject is empty
   do tStatement
   if tValue is empty then
     if word 1 of tRevObject is "stack" then
       delete word 1 to 3 of tRevObject
     else
       delete word 1 to 4 of tRevObject
     end if
   else
     exit repeat
   end if
 end repeat
 unlock messages
 return tValue
end effectiveValue

</postScript>


but you do use the "do" command...
I implemented years ago some OOP behaviour for Rinaldi's "textoid" HC external, with the goal of having an as flexible as possible text window management. But I had to use the "do" command, because I basically had to implement an custom interpreter over hypertalk.

best regards,
        François

_______________________________________________
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