I should also mention that if I create a local struct to stand in the
place of arguments.event.getAllArguments(), the code runs without
issue.

On Dec 13, 9:10 am, Jonathan Logue <[email protected]> wrote:
> Right - the error occurs on StructFind(), but does not error if I
> remove the StructDelete() call. The key is present in the struct when
> I dump and abort either before or after the structFind call... it just
> has to happen before the structDelete call.
>
> On Dec 13, 2:36 am, Chris Blackwell <[email protected]> wrote:
>
>
>
> > Hi Jonathan,
>
> > StructDelete() doesn't throw an error if key is not found in the struct, the
> > error you are seeing is from StructFind().
> > What do you see if you cfdump args and then abort before structfind?
>
> > Chris
>
> > 2009/12/13 Jonathan Logue <[email protected]>
>
> > > I decided to take a look at Gesture this evening and ran into an
> > > issue. I have a controller method that was working in MG Unity on both
> > > CF7 and CF9 and busts using Gesture. I am using ColdSpring 1.2.
>
> > > I have tried a lot of different things leading to completely gutting
> > > my method to what you see below.
>
> > > <cffunction name="getObjectsByClass" returnType="WEB-
> > > INF.cftags.component">
> > >        <cfargument name="event" type="WEB-INF.cftags.component">
>
> > >        <cfset var args = arguments.event.getAllArguments() />
> > >        <cfset var class = structFind(args,'class') />
> > >        <cfset structDelete(args,'class') />
> > >        <cfabort />
>
> > >        <cfreturn arguments.event />
> > > </cffunction>
>
> > > Error: coldfusion.runtime.IllegalStructAccessException: Cannot find
> > > class key in structure. at coldfusion.runtime.
> > > Struct.StructFind(Struct.java:278) at coldfusion.runtime.
>
> > > The code above works on the same request that I "init" the application
> > > but errors on any subsequent request. It works if I remove the
> > > structDelete() call. It also works if I use the duplicate() method to
> > > copy the arguments structure... I could just implement this, but I
> > > would like to understand what is going on. It occurred to me that
> > > "class" could be reserved, so I modified the variable name and
> > > continued to receive the error. I also reproduced this behavior in the
> > > sample hello world app. I have run several experiments independent of
> > > the framework and have not been able to reproduce which is why I am
> > > posting here in the MG group.
>
> > > This works in a simple cfm page:
>
> > > <cfset arguments = {class='someclass',returnVariable='myreturnvar'} />
> > > <cfset args = arguments />
> > > <cfset _class = structFind(args,'class') />
> > > <cfset structDelete(args,'class') />
> > > <cfdump var="#args#">
> > > <cfdump var="#_class#">
>
> > > Any insight is appreciated!
>
> > > --
> > > Model-Glue Sites:
> > > Home Page:http://www.model-glue.com
> > > Documentation:http://docs.model-glue.com
> > > Bug Tracker:http://bugs.model-glue.com
> > > Blog:http://www.model-glue.com/blog
>
> > > You received this message because you are subscribed to the Google
> > > Groups "model-glue" group.
> > > To post to this group, send email to [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]<model-glue%2bunsubscr...@googlegrou­­ps.com>
> > > For more options, visit this group at
> > >http://groups.google.com/group/model-glue?hl=en-Hide quoted text -
>
> > - Show quoted text -- Hide quoted text -
>
> - Show quoted text -

-- 
Model-Glue Sites:
Home Page: http://www.model-glue.com
Documentation: http://docs.model-glue.com
Bug Tracker: http://bugs.model-glue.com
Blog: http://www.model-glue.com/blog

You received this message because you are subscribed to the Google
Groups "model-glue" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/model-glue?hl=en

Reply via email to