Phil Davis wrote:

>  On 10/1/10 9:04 AM, Gregory Lypny wrote:
>>
>> Page 236 of the LiveCode user guide says that arrays cannot be
>> stored as single custom properties.  Can anyone confirm this
>> please?  The reason I ask is that I thought that I had read in
>> a past Rev newsletter that it was now possible, but I may be
>> mistaken.
>>
>> I'm developing an app in LiveCode and have been saving
>> uni-dimensional arrays as single customs props without apparent
>> problems; however, it may be another story with multi-dimensional
>> arrays.
>
> For multi-dimensional arrays you need arrayEncode() and arrayDecode():
>
> put "ice cream" into aMyFoods["favorites"]["desserts"]["cold"]
> set the uMyFoods of stack "dataContainer" to arrayEncode(aMyFoods)

I believe the engine does that automatically when using arrays as custom prop values.

This would also explain why using deep arrays as prop values is often much slower than using the natively-addressable two-dimensional arrays via property sets and properties.

An odd thing about that, though:

Back in August Kevin wrote here:

   Can't you do something like this:

      put "xyz" into tVar
      set the tVar of btn 1 to "a"

   You'll end up with a property called xyz that contains "a" in
   the default set.
<http://mail.runrev.com/pipermail/use-revolution/2010-August/144541.html>

So by extension, one might think this would work too:

  on mouseUp
    put "gaskin" into tPropSet
    put "richard" into tProp
    set the tPropSet[tProp] of me to "Howdy!"
  end mouseUp

But it doesn't. It doesn't throw an error, nor set the result to an error string, but it doesn't set the property either.

Instead the simplest I've found is this:

  on mouseUp
    put "gaskin" into tPropSet
    put "richard" into tProp
    set the customPropertySet of me to tPropSet
    set the tProp of me to "Howdy!"
  end mouseUp

Is there a way to make that a one-liner using array notation?

I know we can do it with hard-wired propset names like this:

  set the gaskin["richard"] of me to "Howdy!"

But how can we do it where the propset name is a variable?

--
 Richard Gaskin
 Fourth World
 LiveCode training and consulting: http://www.fourthworld.com
 Webzine for LiveCode developers: http://www.LiveCodeJournal.com
 LiveCode Journal blog: http://LiveCodejournal.com/blog.irv
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to