Object A extends object B
Method B.collectFields()
-------------------------
<cfif isDefined("URL")>
<cfloop collection="#URL#" item="key">
<cfif isDefined("this." & key)>
<cfinvoke component="#this#" method="#key#"
newvalue="#url[key]#">
</cfif>
</cfloop>
</cfif>
When I call A.collectFields() the isDefined function returns true, but the
CFINVOKE tag throws...
"The system has attempted to use an undefined value, which usually indicates
a programming error, either in your code or some system code.
Null Pointers are another name for undefined values."
---------------------------------------------------------------------
<cffunction name="section_id" returntype="numeric" output="false">
<cfargument name="newvalue" type="numeric" required="false">
<cfif isDefined("arguments.newvalue")>
<cfset variables.section_id = arguments.newvalue>
<cfelse>
<cfreturn variables.section_id>
</cfif>
</cffunction>
---------------------------------------------------------------------
Here's the kicker, if I change the name of the attribute in the CFINVOKE tag
to something else, for example:
<cfinvoke component="#this#" method="#key#" attrval="#url[key]#">
The error no longer is thrown. It's only when the attribute's name actually
matches that of the argument in the method that I see the error. Am I
trying to do something I shouldn't?
Thanks,
Steve
----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email to
[email protected] with the words 'unsubscribe cfcdev' as the subject of the
email.
CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting
(www.cfxhosting.com).
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]