Might be the use of <CFSET>.   Try something like this.
<CFSCRIPT>
       if (arguments.formInfo.ID eq 0)
           insertRow(field1,field2,field3);
      else
           updateRow(ID,field1);
</CFSCRIPT>


Kier Simmons
Manager of Application Development
[cid:[email protected]]<http://www.giveblood.org/>
Phone:

713-791-6619

Toll Free:

1-888-482-5663

Fax:

713-791-6681

www.giveblood.org<http://www.giveblood.org>


P Please consider the environment before printing this e-mail.

From: [email protected] [mailto:[email protected]] On Behalf Of 
jhusum
Sent: Wednesday, June 27, 2012 5:16 PM
To: [email protected]
Subject: Re: [houcfug] Function being treated as a variable?

Greetings,

Regretably I'm not at liberty to send the code. But yes, you are essentially 
right. I have a CFC that has a function that calls one of the other two 
functions based on some conditional logic.

To pseudo-code it:

<cfcomponent name="myComponent">

    <cffunction name="callingFunction">
        <cfargument name="formInfo" />

        <cfif arguments.formInfo.ID eq 0>
            <cfset insertRow(field1,field2,field3) />
        <cfelse>
            <cfset updateRow(ID,field1) />
        </cfif>
    </cffunction>

    <cffunction name="insertRow" access="private" returntype="void">
        <cfargument name="field1" />
       <cfargument name="field2" />
       <cfargument name="field3" />

        <cfquery name="insertRow" datasource="blah">
        INSERT INTO table
            (field1,field2,field3)
        VALUES
            (arguments.field1,arguments.field2,arguments.field3)
        </cfquery>

    < /cffunction>

    <cffunction name="updateRow" access="private" returntype="void">
        <cfargument name="field1" />
       <cfargument name="field2" />
       <cfargument name="field3" />

        <cfquery name="insertRow" datasource="blah">
        UPDATE table
        SET field1 = arguments.field1
        WHERE ID = arguments.ID
        </cfquery>

    < /cffunction>

</cfcomponent>

I have similar helper functions in other CFCs within the same code base using 
essentially the same syntax to call the helper functions (i.e., <cfset 
someFunction(argument) />) They all run fine. It is just this one that is 
giving me the strange error thatmakes it look like the function is being 
treated as a variable (i.e., Variable updateRow is undefined.)

I've got no clue as to why this message is coming up and so far my Google-fu 
has not turned up anything.

On Wednesday, June 27, 2012 4:54:28 PM UTC-5, Ajas Mohammed wrote:
If you dont mind, can email us the full CFC. I am assuming, you have CFC xyz 
which has these 2 functions and then you call these 2 functions from the same 
xyz CFC based of logic.

<Ajas Mohammed />
iUseDropbox(http://db.tt/63Lvone9)
http://ajashadi.blogspot.com
We cannot become what we need to be, remaining what we are.
No matter what, find a way. Because thats what winners do.
You can't improve what you don't measure.
Quality is never an accident; it is always the result of high intention, 
sincere effort, intelligent direction and skillful execution; it represents the 
wise choice of many alternatives.


On Wed, Jun 27, 2012 at 5:38 PM, jhusum  wrote:
Greetings,

OK, another strange one...

I've got two helper functions within a CFC to insert or update a record into 
the database. Based on a conditional one of the functions is run. I'm calling 
the functions from within the CFC as such:

<cfif ID eq 0>
     <cfset insertRow(field1,field2,field3) />
<cfelse>
     <cfset updateRow(ID,field1) />
 </cfif>

However when I'm running the code CF is giving me the message: Variable 
insertRow is undefined.

I've tried this as well:

<cfif ID eq 0>
     <cfset temp = insertRow(field1,field2,field3) />
<cfelse>
     <cfset temp = updateRow(ID,field1) />
 </cfif>

and I'm still getting the same message.

I'm doing similar function calls in other CFCs with the first syntax above and 
everything works like a charm.

Anyone got any ideas on why CF would be thinking this on is a variable instead 
of a function?

Thanks.
--
You received this message because you are subscribed to the "Houston ColdFusion 
Users' Group" discussion list.
To unsubscribe, send email to 
[email protected]<mailto:[email protected]>
For more options, visit http://groups.google.com/group/houcfug?hl=en

--
You received this message because you are subscribed to the "Houston ColdFusion 
Users' Group" discussion list.
To unsubscribe, send email to 
[email protected]<mailto:[email protected]>
For more options, visit http://groups.google.com/group/houcfug?hl=en

-- 
You received this message because you are subscribed to the "Houston ColdFusion 
Users' Group" discussion list.
To unsubscribe, send email to [email protected]
For more options, visit http://groups.google.com/group/houcfug?hl=en

<<inline: image001.gif>>

Reply via email to