Got the answer from a coworker, which is to put parens on the varname like so:
<cfdump var="#result()#">
-----------------------------------
I've got a CFC which I'd like to use dynamically. Pass in a string, and call a
method with the same name as the string being passed in. I've almost got it
working with this line:
<cfset var result = VARIABLES['method' & ARGUMENTS.method]>
But rather than get the result of the method, I'm getting the method itself as
a variable. I can accomplish this using cfinvoke, but I'd rather use
CreateObject as I think it's a little more elegant. Can anyone suggest a way I
can get the result of the method using CreateObject?
<!--- the calling template --->
<cfset cfc = CreateObject('component','dynamicMethods')>
<cfset get = cfc.callMethod()>
<!--- the CFC --->
<cfcomponent displayname="dynamic methods" hint="dynamic method testing">
<cffunction name="Init" output="false" access="public"
returntype="dynamicMethods">
<cfreturn THIS>
</cffunction>
<cffunction name="callMethod" output="false" access="public"
returntype="void">
<cfargument name="method" required="false" type="string"
default="One">
<cfset var result = VARIABLES['method' & ARGUMENTS.method]>
<!--- <cfinvoke component="#THIS#"
method="method#ARGUMENTS.method#" returnvariable="result" /> --->
<cfdump var="#result#">
<cfabort>
</cffunction>
<cffunction name="methodOne" output="false" access="public"
returntype="string">
<cfreturn 'methodOne method call'>
</cffunction>
</cfcomponent>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to
date
Get the Free Trial
http://ad.doubleclick.net/clk;207172674;29440083;f
Archive:
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:314366
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4