Well, the docs are pretty clear that you can create a struct implicitly by 
using struct dot notation... Ah but perhaps I need to be explicit about it 
being a new struct each time. Wait... let's try this. 

Ok. that is it. Now it works. I just added "<cfset fileInfo=strcutNew()>" 
just inside the loop and it works as expected.

I wasearlier looking at a similar example I did a while back but couldn't 
see the difference (assuming implicit creation was the same as explicit) 
but in that case I used the full formal syntax for declaring and creating 
structs including declaring a new struct.

So an easy fix. Thanks.

On Monday, 6 January 2014 20:45:57 UTC-8, Al Holden wrote:
>
>  oops. As a new struct, not a new array.
>
> On 1/6/2014 8:24 PM, Alan Holden wrote:
>  
> Where is fileInfo declared as a new array?
> Shouldn't that be the first step inside your loop?
> Just curious.
> Al
>
> P.S. Just for debugging fun, add i as an array element too.
>
>
> On 1/6/2014 7:48 PM, Magnus wrote:
>  
> I am trying to create an array of structs from values passed from a form. 
> Using this code, the resulting array has the same value in each array cell 
> from last iteration of the loop. The desired result, of course, is toi hae 
> each pair of form values passed to a struct in each array cell. As far as I 
> can tell, it seems the earsh array cell is only a reference to the fileInfo 
> struct which gets rewritten each loop. I can't recall where I have read 
> about assigning vallues and referencing variables in CFML to help me 
> clarify wht is going on and how to get it working as I want. (If you are 
> wondering, the form is from Plupload for uploading files.
>
> I want ot put the valuesinto an array because I will be doing a bunch of 
> operations to or on the files and looping over and array each time will be 
> simplier can repeatedly dealing with the dynamically generated form 
> variables. Any help getting on track and beter understanding what is 
> goingon here is much appeciated.
>
> Magnus
>
>
> <cfdump var="#FORM#"> ...the starting values...
>   struct  FIELDNAMES 
> UPLOADER_0_NAME,UPLOADER_0_STATUS,UPLOADER_1_NAME,UPLOADER_1_STATUS,UPLOADER_2_NAME,UPLOADER_2_STATUS,UPLOADER_3_NAME,UPLOADER_3_STATUS,UPLOADER_4_NAME,UPLOADER_4_STATUS,UPLOADER_COUNT
>   
> UPLOADER_0_NAME ANGELS.wav  UPLOADER_0_STATUS  done  UPLOADER_1_NAME 
> Kalimba.mp3  UPLOADER_1_STATUS 
>  done  UPLOADER_2_NAME Machine_Gun_Alley_1.ogg  UPLOADER_2_STATUS 
>  done  UPLOADER_3_NAME Maid with the Flaxen Hair.mp3  UPLOADER_3_STATUS 
>  done  UPLOADER_4_NAME Sleep Away.mp3  UPLOADER_4_STATUS  
>  done  UPLOADER_COUNT 5  
> Here is the code..
> <cfset fileArray = arrayNew(1)>
> <cfloop index="i" from="0" to="#FORM.uploader_count-1#" step="1">
>     <cfset fileInfo.name=#Evaluate("FORM.uploader_" & i & "_name")#>
>     <cfset fileInfo.status=#Evaluate("FORM.uploader_" & i & "_status")#>
>     <cfset fileArray[i+1] = fileInfo>
>     <cfdump var="#fileInfo#"
>     
> </cfloop>
>
> <cfdump var="#fileArray#"> ...the end result...
>   array  1   
>    struct  name Sleep Away.mp3  status  done
>
>     2   struct  name Sleep Away.mp3  status 
>  done
>
>     3   struct  name Sleep Away.mp3  status  done
>
>     4   struct  name Sleep Away.mp3  status  done
>
>     5   struct  name Sleep Away.mp3  status  done    
>  -- 
> -- 
> online documentation: http://openbd.org/manual/
> http://groups.google.com/group/openbd?hl=en
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Open BlueDragon" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
> -- 
> -- 
> online documentation: http://openbd.org/manual/
> http://groups.google.com/group/openbd?hl=en
>  
> --- 
> You received this message because you are subscribed to the Google Groups 
> "Open BlueDragon" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] <javascript:>.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>  

-- 
-- 
online documentation: http://openbd.org/manual/
 http://groups.google.com/group/openbd?hl=en

--- 
You received this message because you are subscribed to the Google Groups "Open 
BlueDragon" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to