probly because your sets dont return anything?

1) take the return out of the runfunction:

<cffunction name="runFunction">
                <cfargument name="functionname" type="string" required="yes">
                <cfargument name="args" type="struct" required="no"
default="#structnew()#">
                <cfset var retval = "">
                <cfinvoke component="#this#"
                                                        
method="#arguments.functionname#"
                                                        
argumentCollection="#arguments.args#"
                                                        returnvariable="retval">

        </cffunction>

OR

2) check it exists

<cffunction name="runFunction">
                <cfargument name="functionname" type="string" required="yes">
                <cfargument name="args" type="struct" required="no"
default="#structnew()#">
                <cfset var retval = structnew()>
                <cfinvoke component="#this#"
                                                        
method="#arguments.functionname#"
                                                        
argumentCollection="#arguments.args#"
                                                        
returnvariable="retval.result">

                <cfif structkeyexists(retval,"result")>
                        <cfreturn retval>
                </cfif>

        </cffunction>

-----Original Message-----
From: Paul [mailto:[EMAIL PROTECTED]
Sent: 12 October 2005 17:25
To: CF-Talk
Subject: RE: dynamic function call puzzle


Wow, this is great, really expanding my horizons here...

So in the inherited function CF throws this error: "Variable RETVAL is
undefined."

I do have the following as you sent; CF refers to the CFINVOKE line number
in the error message.  Maybe I need a deeper understanding to figure out
what I may have done differently to cause the error...  (Something about my
Setters perhaps?)

<cfset var retval = "">
<cfinvoke component="#this#"
        method="#arguments.functionname#"
argumentCollection="#arguments.args#"
        returnvariable="retval">
<cfreturn retval>

-----Original Message-----
From: Kerry [mailto:[EMAIL PROTECTED]
Sent: Wednesday, October 12, 2005 10:04 AM
To: CF-Talk
Subject: RE: dynamic function call puzzle

oops, with that flavour of the function you will need:

args = structnew();
args[colArray[x]] = q[colArray[x]][q.currentrow];
o.runfunction("set"&colArray[x],args);




~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:220818
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to