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