<cfproperty> tags have to be at the top of the component, right after the
<cfcomponent> tag.

Thanks
 
Tom Schreck
972-361-9943

-----Original Message-----
From: Chris Gomez [mailto:[EMAIL PROTECTED] 
Sent: Thursday, February 10, 2005 10:15 PM
To: [email protected]
Subject: Re: CFC question

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

----------------------------------------------------------
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