cfproperty tags HAVE to be the VERY first lines in your CFC right
after the cfcomponent tag.  Otherwise things won't work (as you
discovered!).


On Thu, 10 Feb 2005 22:15:18 -0600, Chris Gomez <[EMAIL PROTECTED]> wrote:
> the weirdness keeps right on rolling.  the problem was the result of a
> cfproperty tag I had inserted, for documentation purposes, immediately
> after the cffunction.  Once I removed it, the cfc began working again.
> 
> go figure.
> 
> 
> On Thu, 10 Feb 2005 20:51:56 -0600, Chris Gomez <[EMAIL PROTECTED]> wrote:
> > the LightList=StructNew()... LightList=CreateObject() is modified from
> > the MX WACK appendixes examples for cfinvoke (pg 1218 & 1219).
> >
> > I tried your suggestion for MyQuery=LightList.selectlist and it
> > worked. for a while.  when I try to run the page now, I get a '
> > Context validation error for tag cffunction'. CFMX seems to think
> > there's no </cffunction> at the end of the cfcomponent, although there
> > is.  this doesn't make any sense.
> >
> > background:
> > The cfc is intended to generate four lists of data on the screen so
> > the user can select an item to view.  The list items will vary based
> > on five parameters.  (The existing page gets hit several thousand
> > times a month.)
> >
> > After reviewing the code recently, I found I could streamline it into
> > one query that only needed a few parameters to execute properly.
> > Then, I learned about cfc's and figured that would be a more secure
> > and efficient way of generating the lists.
> >
> > I've finally gotten it to work the way I want, but now I've got this
> > bloody error to figure out!!
> >
> > Any help appreciated.
> >
> > Chris
> >
> > On Thu, 10 Feb 2005 16:03:58 -0600, Matt Woodward <[EMAIL PROTECTED]> wrote:
> > > A bit tricky to debug this without the database, etc. but here are
> > > some suggestions and questions.
> > >
> > > 1. Why do you do LightList = StructNew() and then immediately do
> > > LightList = CreateObject() ... ?  (Same question for your other
> > > objects as well.)
> > >
> > > 2. Since your function returns something you have to set that to a
> > > variable.  Calling LightList.selectList() returns a query, so you'll
> > > want to do something like this:
> > > myQuery = LightList.selectList(etc. ...)
> > >
> > > 3. I'm a bit unclear as to what you're dumping.  Dumping your object
> > > isn't going to show you your results.  (In general dumping the object
> > > doesn't give you as much info as you might imagine!)
> > >
> > >
> > > On Wed, 9 Feb 2005 21:27:02 -0600, Chris Gomez <[EMAIL PROTECTED]> wrote:
> > > > I've created the following code based on Tom and Matt's suggestion,
> > > > but all it does, according to a cfdump, is return the following. The
> > > > method should return two attributes (fldMass and fldName) and add them
> > > > to the structure.
> > > >
> > > > Any ideas for a cfc newbie?
> > > >
> > > > CFDUMP results
> > > > SELECTLIST
> > > > function selectList
> > > > Arguments:
> > > > Name            Required        Type    Default
> > > > XFaction        Required        Any     1
> > > > XVType          Required        Any     1
> > > > XWeight         Required        Any     1
> > > > XEra              Required      Any     2
> > > > Return Type:  query
> > > > Roles:
> > > > Access:         package
> > > > Output:          Yes
> > > >
> > > > <cfscript>
> > > >         LightList = StructNew();
> > > >         LightList = createObject("component","unitlist");
> > > >         LightList.selectList(XFaction=1,XEra=2,XVType=1,XWeight=1);
> > > >         MedList = StructNew();
> > > >         MedList = createObject("component","unitlist");
> > > >         MedList.selectList(XFaction=1,XEra=2,XVType=1,XWeight=2);
> > > >         HvyList = StructNew();
> > > >         HvyList = createObject("component","unitlist");
> > > >         HvyList.selectList(XFaction=1,XEra=2,XVType=1,XWeight=3);
> > > >         AsltList = StructNew();
> > > >         AsltList = createObject("component","unitlist");
> > > >         AsltList.selectList(XFaction=1,XEra=2,XVType=1,XWeight=4);
> > > > </cfscript>
> > > >
> > > > <cfcomponent>
> > > >         <cffunction name="selectList" access="package" 
> > > > returntype="query">
> > > >                 <cfargument name="XFaction" required="true" default="1">
> > > >                 <cfargument name="XVType" required="true" default="1">
> > > >                 <cfargument name="XWeight" required="true" default="1">
> > > >                 <cfargument name="XEra" required="true" default="2">
> > > >                 <cfquery name="nameList" datasource="btech">
> > > > SELECT
> > > >   t.fldName,
> > > >   m.fldMass
> > > > FROM         tblTRO t, tblWeightClass w, tblVType v, tblMass m,
> > > > tblFaction f, tblEra e, tblClass c
> > > > WHERE      f.fldFactionID = t.fldFaction AND
> > > >                    w.fldWeightClassID = t.fldWeight AND
> > > >                    m.fldMassID = t.fldMass AND
> > > >                    c.fldClassID = t.fldClass AND
> > > >                    v.fldVTypeID = t.fldType AND
> > > >                    e.fldEraID = t.fldEra AND
> > > >                    (t.fldType = #arguments.XVType#) AND (t.fldFaction =
> > > > #arguments.XFaction#) and (t.fldEra = #arguments.XEra#) AND
> > > > (t.fldWeight = #arguments.XWeight#)
> > > > ORDER BY t.fldMass, t.fldName
> > > >                 </cfquery>
> > > >                 <cfreturn nameList>
> > > >         </cffunction>
> > > > </cfcomponent>
> > > >
> > > > On Wed, 9 Feb 2005 08:46:30 -0600, Schreck, Tom <[EMAIL PROTECTED]> 
> > > > wrote:
> > > > > You can use the <cfinvoke> but the <cfinvoke> creates the CFC, calls a
> > > > > method, and then destroys the CFC.  So, if you need to call only a 
> > > > > single
> > > > > method from a CFC, then it's ok to use <cfinvoke>.  If you need to 
> > > > > call
> > > > > multiple methods from same cfc instance, then <cfinvoke> uses a lot of
> > > > > overhead.
> > > > >
> > > > > Most of the time you will need to call multiple methods of an object. 
> > > > >  So
> > > > > you can use createobject method within a <cfscript> block:
> > > > >
> > > > > <cfscript>
> > > > >         oCFC = 
> > > > > createObject("component","Package.Path.To.Where.CFC.Lives");
> > > > >         oCFC.method1(paramName=paramValue,paramName1=paramValue1,...);
> > > > >         oCFC.method2(paramName=paramValue,paramName1=paramValue1,...);
> > > > >         etc.
> > > > > </cfscript>
> > > > >
> > > > > Another alternative to passing a list of name/value pairings is to 
> > > > > create a
> > > > > structure containing data and use argumentcollection=structureName in 
> > > > > place
> > > > > of all the name/value pairings.
> > > > >
> > > > > Thanks
> > > > >
> > > > > Tom Schreck
> > > > > 972-361-9943
> > > > > -----Original Message-----
> > > > > From: Chris Gomez [mailto:[EMAIL PROTECTED]
> > > > > Sent: Wednesday, February 09, 2005 8:31 AM
> > > > > To: [email protected]
> > > > > Subject: CFC question
> > > > >
> > > > > At last nights meeting, it was brought up that CFC's should not be
> > > > > called using the CFINVOKE command. If that's the case, then how would
> > > > > you call a CFC and, more importantly, how do you call a CFC that
> > > > > requires arguments be passed to it?
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Chris
> > > > > ----------------------------------------------------------
> > > > > To post, send email to [email protected]
> > > > > To unsubscribe:
> > > > >    http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
> > > > > To subscribe:
> > > > >    http://www.dfwcfug.org/form_MemberRegistration.cfm
> > > > >
> > > > > ----------------------------------------------------------
> > > > > To post, send email to [email protected]
> > > > > To unsubscribe:
> > > > >    http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
> > > > > To subscribe:
> > > > >    http://www.dfwcfug.org/form_MemberRegistration.cfm
> > > > >
> > > > >
> > > > ----------------------------------------------------------
> > > > To post, send email to [email protected]
> > > > To unsubscribe:
> > > >    http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
> > > > To subscribe:
> > > >    http://www.dfwcfug.org/form_MemberRegistration.cfm
> > > >
> > > >
> > >
> > > --
> > > Matt Woodward
> > > [EMAIL PROTECTED]
> > > http://www.mattwoodward.com
> > > ----------------------------------------------------------
> > > To post, send email to [email protected]
> > > To unsubscribe:
> > >    http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
> > > To subscribe:
> > >    http://www.dfwcfug.org/form_MemberRegistration.cfm
> > >
> > >
> >
> ----------------------------------------------------------
> To post, send email to [email protected]
> To unsubscribe:
>    http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
> To subscribe:
>    http://www.dfwcfug.org/form_MemberRegistration.cfm
> 
> 


-- 
Matt Woodward
[EMAIL PROTECTED]
http://www.mattwoodward.com
----------------------------------------------------------
To post, send email to [email protected]
To unsubscribe: 
   http://www.dfwcfug.org/form_MemberUnsubscribe.cfm
To subscribe: 
   http://www.dfwcfug.org/form_MemberRegistration.cfm


Reply via email to