RE: CFC Newbie
Yep read those first Ben! -Original Message- From: Ben Forta [mailto:b...@forta.com] Sent: Monday, March 22, 2010 3:49 PM To: cf-talk Subject: RE: CFC Newbie These are old, but may answer the question: http://www.adobe.com/devnet/coldfusion/articles/intro_cfcs.html http://www.adobe.com/devnet/coldfusion/extreme/bforta_cfc.html --- Ben -Original Message- From: Dave Watts [mailto:dwa...@figleaf.com] Sent: Monday, March 22, 2010 3:44 PM To: cf-talk Subject: Re: CFC Newbie > ask and you shall be enlightened: > > http://www.bennadel.com/blog/726-ColdFusion-Application-cfc-Tutorial-And-App lication-cfc-Reference.htm While that's useful information to be sure, it doesn't address the original poster's question, which is about CFC use in general. Application.cfc is quite a bit different from other CFCs in how it's used - you don't explicitly instantiate it, for example. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:332012 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: CFC Newbie
These are old, but may answer the question: http://www.adobe.com/devnet/coldfusion/articles/intro_cfcs.html http://www.adobe.com/devnet/coldfusion/extreme/bforta_cfc.html --- Ben -Original Message- From: Dave Watts [mailto:dwa...@figleaf.com] Sent: Monday, March 22, 2010 3:44 PM To: cf-talk Subject: Re: CFC Newbie > ask and you shall be enlightened: > > http://www.bennadel.com/blog/726-ColdFusion-Application-cfc-Tutorial-And-App lication-cfc-Reference.htm While that's useful information to be sure, it doesn't address the original poster's question, which is about CFC use in general. Application.cfc is quite a bit different from other CFCs in how it's used - you don't explicitly instantiate it, for example. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:332009 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: CFC Newbie
> ask and you shall be enlightened: > > http://www.bennadel.com/blog/726-ColdFusion-Application-cfc-Tutorial-And-Application-cfc-Reference.htm While that's useful information to be sure, it doesn't address the original poster's question, which is about CFC use in general. Application.cfc is quite a bit different from other CFCs in how it's used - you don't explicitly instantiate it, for example. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:332008 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: CFC Newbie
ask and you shall be enlightened: http://www.bennadel.com/blog/726-ColdFusion-Application-cfc-Tutorial-And-Application-cfc-Reference.htm ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:332007 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: CFC Newbie
> I'm trying to get out of MX non CFC world. I've now working with CF8 and > want to start converting some of my things to use CFC's. Specifically how I > can use forms to interact with CFC's to add/edit/delete data. I've read a > few tutorials from adobe about them and what I've seen on a few blogs but > none address using cfc's in form to do the data add/editing.. Anyone have > links to tutorials/readme's ? examples? There are some examples in the ACFD 8 courseware available here: http://www.adobe.com/education/instruction/teach/cfcurriculum.html Basically, in the simplest case, you write functions within CFCs to accept your field values, and have those functions run the appropriate SQL. You invoke those functions from your action page, instead of having the SQL embedded in-place. Note that this is only the simplest case; many developers use CFCs to represent individual records (beans or value objects), and use other CFCs to manipulate those beans by reading from and writing to the database. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Veteran-Owned Small Business (VOSB) on GSA Schedule, and provides the highest caliber vendor-authorized instruction at our training centers, online, or onsite. ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:331956 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: CFC Newbie Question: Encapsulation
On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > In my Java book it says that if a method is public, a data filed could > be assigned a value directly, BUT doing so "violates an important > principle of object-oriented programming -- that of data hiding using > encapsulation. > > However, I have seen alot of CF developers write code that directly > assigns values to data fields in CFC's like the following: Officially, yes, true object oriented programming does not allow you to access variables in an object directly. You can reference constants directly, but never set or retrieve variables. In the CFC world I don't think there is any such thing as a constant, so you're either going to program get/set methods, or you're not. My preference - for the most part - is not. In a large development environment, with many developers working on difference pieces of a project, it does make sense to do this kind of encapsulation, because it protects your variables and allows you to control what values they contain. For example, if you're using the this scope to store an ID variable that is an integer, if you ALLOW that variable to be set from the outside world (maybe someone elses CFC), then they could easily set it to "foo", and suddenly something doesn't work the way they expect it to and it breaks in YOUR code. In the world of encapsulation, you control how that variable is set. This example only returns "false" but it could return or log a more specific error message. This forces other programmers using your CFC to send proper data to the variable, or setting the variable will fail, preventing unknown consequences later in the application. Rick ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232678 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
Thanks Rick, I will surely take a look. -Aaron On 2/16/06, Rick Root <[EMAIL PROTECTED]> wrote: > Aaron Roberson wrote: > > > > I am going to keep all of these threads, print them out, and go over > > them multiple times until I begin to grasp it all. I guess I won't be > > learning CFAJAX until I get CFC's down, which is proving to be quite a > > task and very lengthy process. > > CFCs are wonderful! > > If you want to see an example of using the this scope and an init() > function within a CFC, look at the code in CFFM: > > http://www.opensourcecf.com/cffm > > In that case, I use an init() to set properties, which is good in the OO > world (like a constructor in java), but I use the this scope instead of > the variables scope, so I don't have to write getter and setter methods. > > It is a violation of object oriented programming, but I really don't > care in this case =) > > Rick > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232680 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
Aaron Roberson wrote: > > I am going to keep all of these threads, print them out, and go over > them multiple times until I begin to grasp it all. I guess I won't be > learning CFAJAX until I get CFC's down, which is proving to be quite a > task and very lengthy process. CFCs are wonderful! If you want to see an example of using the this scope and an init() function within a CFC, look at the code in CFFM: http://www.opensourcecf.com/cffm In that case, I use an init() to set properties, which is good in the OO world (like a constructor in java), but I use the this scope instead of the variables scope, so I don't have to write getter and setter methods. It is a violation of object oriented programming, but I really don't care in this case =) Rick ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232679 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
James, I am going to keep all of these threads, print them out, and go over them multiple times until I begin to grasp it all. I guess I won't be learning CFAJAX until I get CFC's down, which is proving to be quite a task and very lengthy process. Thanks again and again! -Aaron "To instantiate or not to instantiate, that is the question." - 21st Century Shakespeare On 2/16/06, James Holmes <[EMAIL PROTECTED]> wrote: > No, for the moment, forget THIS. > > > > > > > should be > > > > > The life cycle of the instance depends on where you put it. > Instantiate it in the session scope, it lasts as long as the session. > Similar for the application scope. > > The use of THIS is to make this bit work: > > > > Inside that, the init() method returns THIS > > > > > > > That's the only time you need to use THIS in the whole component. > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > > The only use for THIS in an OO-based component is to return THIS at > > > the end of the constructor. That returns the entire component for use > > > as an instance. > > > > In Java, the constructer is for providing arguments with default > > values. These default values can be the ones that are automaticly > > assigned to each corresponding data type, or if you create a > > constructer method it will be the values you specify. > > > > > The properties will be in the VARIABLES scope; they can be used via > > > getter and setter methods. This is where the ARGUMENTS scope comes in > > > - the setter methods take an argument, check it for validity and then > > > set a value in the VARIABLES scope. The VARIABLES scope remains > > > between method calls, acting as storage within the instance. > > > > So within my setter method I would do something like the following: > > > > > > > > > > The intention would be to make the "name" property persist across > > method calls? I don't think I really understand what that means. I am > > thinking in terms of sessions and applications but I don't think their > > related. If I assign something to the session scope, the variable > > remains the same throught the entire session unless it is changed by > > another assignment. If an object is instantiated, all properties in > > the variable scope will remain the same on the calling page, but what > > about on other pages? What is the life cycle of an instance? > > > > Sorry for all the questions... I hope someone else relieves you from > > doing all the work of saving me from despair... > > > > Thanks so much, > > Aaron > > > > On 2/16/06, James Holmes <[EMAIL PROTECTED]> wrote: > > > The only use for THIS in an OO-based component is to return THIS at > > > the end of the constructor. That returns the entire component for use > > > as an instance. > > > > > > The properties will be in the VARIABLES scope; they can be used via > > > getter and setter methods. This is where the ARGUMENTS scope comes in > > > - the setter methods take an argument, check it for validity and then > > > set a value in the VARIABLES scope. The VARIABLES scope remains > > > between method calls, acting as storage within the instance. > > > > > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > > > What about the constructor function? Shouldn't I set the properties in > > > > the THIS scope when initializing a component? > > > > > > > > Also, what is the difference between the variables scope and the > > > > arguments scope withing a method? I have seen properties defined using > > > > the cfargument tag referenced in the method using both the arguments > > > > scope and the variables scope. > > > > > > -- > > > CFAJAX docs and other useful articles: > > > http://jr-holmes.coldfusionjournal.com/ > > > > > > > > > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232674 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
No, for the moment, forget THIS. > > should be The life cycle of the instance depends on where you put it. Instantiate it in the session scope, it lasts as long as the session. Similar for the application scope. The use of THIS is to make this bit work: Inside that, the init() method returns THIS That's the only time you need to use THIS in the whole component. On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > The only use for THIS in an OO-based component is to return THIS at > > the end of the constructor. That returns the entire component for use > > as an instance. > > In Java, the constructer is for providing arguments with default > values. These default values can be the ones that are automaticly > assigned to each corresponding data type, or if you create a > constructer method it will be the values you specify. > > > The properties will be in the VARIABLES scope; they can be used via > > getter and setter methods. This is where the ARGUMENTS scope comes in > > - the setter methods take an argument, check it for validity and then > > set a value in the VARIABLES scope. The VARIABLES scope remains > > between method calls, acting as storage within the instance. > > So within my setter method I would do something like the following: > > > > > The intention would be to make the "name" property persist across > method calls? I don't think I really understand what that means. I am > thinking in terms of sessions and applications but I don't think their > related. If I assign something to the session scope, the variable > remains the same throught the entire session unless it is changed by > another assignment. If an object is instantiated, all properties in > the variable scope will remain the same on the calling page, but what > about on other pages? What is the life cycle of an instance? > > Sorry for all the questions... I hope someone else relieves you from > doing all the work of saving me from despair... > > Thanks so much, > Aaron > > On 2/16/06, James Holmes <[EMAIL PROTECTED]> wrote: > > The only use for THIS in an OO-based component is to return THIS at > > the end of the constructor. That returns the entire component for use > > as an instance. > > > > The properties will be in the VARIABLES scope; they can be used via > > getter and setter methods. This is where the ARGUMENTS scope comes in > > - the setter methods take an argument, check it for validity and then > > set a value in the VARIABLES scope. The VARIABLES scope remains > > between method calls, acting as storage within the instance. > > > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > > What about the constructor function? Shouldn't I set the properties in > > > the THIS scope when initializing a component? > > > > > > Also, what is the difference between the variables scope and the > > > arguments scope withing a method? I have seen properties defined using > > > the cfargument tag referenced in the method using both the arguments > > > scope and the variables scope. > > > > -- > > CFAJAX docs and other useful articles: > > http://jr-holmes.coldfusionjournal.com/ > > > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232671 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
> The only use for THIS in an OO-based component is to return THIS at > the end of the constructor. That returns the entire component for use > as an instance. In Java, the constructer is for providing arguments with default values. These default values can be the ones that are automaticly assigned to each corresponding data type, or if you create a constructer method it will be the values you specify. > The properties will be in the VARIABLES scope; they can be used via > getter and setter methods. This is where the ARGUMENTS scope comes in > - the setter methods take an argument, check it for validity and then > set a value in the VARIABLES scope. The VARIABLES scope remains > between method calls, acting as storage within the instance. So within my setter method I would do something like the following: The intention would be to make the "name" property persist across method calls? I don't think I really understand what that means. I am thinking in terms of sessions and applications but I don't think their related. If I assign something to the session scope, the variable remains the same throught the entire session unless it is changed by another assignment. If an object is instantiated, all properties in the variable scope will remain the same on the calling page, but what about on other pages? What is the life cycle of an instance? Sorry for all the questions... I hope someone else relieves you from doing all the work of saving me from despair... Thanks so much, Aaron On 2/16/06, James Holmes <[EMAIL PROTECTED]> wrote: > The only use for THIS in an OO-based component is to return THIS at > the end of the constructor. That returns the entire component for use > as an instance. > > The properties will be in the VARIABLES scope; they can be used via > getter and setter methods. This is where the ARGUMENTS scope comes in > - the setter methods take an argument, check it for validity and then > set a value in the VARIABLES scope. The VARIABLES scope remains > between method calls, acting as storage within the instance. > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > What about the constructor function? Shouldn't I set the properties in > > the THIS scope when initializing a component? > > > > Also, what is the difference between the variables scope and the > > arguments scope withing a method? I have seen properties defined using > > the cfargument tag referenced in the method using both the arguments > > scope and the variables scope. > > -- > CFAJAX docs and other useful articles: > http://jr-holmes.coldfusionjournal.com/ > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232668 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
The only use for THIS in an OO-based component is to return THIS at the end of the constructor. That returns the entire component for use as an instance. The properties will be in the VARIABLES scope; they can be used via getter and setter methods. This is where the ARGUMENTS scope comes in - the setter methods take an argument, check it for validity and then set a value in the VARIABLES scope. The VARIABLES scope remains between method calls, acting as storage within the instance. On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > What about the constructor function? Shouldn't I set the properties in > the THIS scope when initializing a component? > > Also, what is the difference between the variables scope and the > arguments scope withing a method? I have seen properties defined using > the cfargument tag referenced in the method using both the arguments > scope and the variables scope. -- CFAJAX docs and other useful articles: http://jr-holmes.coldfusionjournal.com/ ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232664 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
What about the constructor function? Shouldn't I set the properties in the THIS scope when initializing a component? Also, what is the difference between the variables scope and the arguments scope withing a method? I have seen properties defined using the cfargument tag referenced in the method using both the arguments scope and the variables scope. -Aaron On 2/16/06, James Holmes <[EMAIL PROTECTED]> wrote: > Yes, encapsulation is an important part of OO and yes many people don't care. > > If you want to maintain the encapsulation, don't set thigns in the > THIS scope - use a setter method to set them in the VARIABLES scope > (and a getter method to get them out again): > > > newUser = createobject("component", "user"); > newUser.setname("john"); > > > On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > > Friends, > > > > I am learning Java and CFC development in ColdFusion at the same time. > > I keep going back and forth between the two because they complement > > each other so well. Anyways, my question is not in regards to the > > specifics of the language, but with OOP design patterns and > > encapsulation. > > > > HERE IT GOES: > > > > In my Java book it says that if a method is public, a data filed could > > be assigned a value directly, BUT doing so "violates an important > > principle of object-oriented programming -- that of data hiding using > > encapsulation. > > > > However, I have seen alot of CF developers write code that directly > > assigns values to data fields in CFC's like the following: > > > > CALLING PAGE > > > > > > newUser = createobject("component", "user"); > > newUser.name = "john" > > newuser.setname(); > > > > > > COMPONENT > > > > > > > > > > init(); > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232661 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC Newbie Question: Encapsulation
Yes, encapsulation is an important part of OO and yes many people don't care. If you want to maintain the encapsulation, don't set thigns in the THIS scope - use a setter method to set them in the VARIABLES scope (and a getter method to get them out again): newUser = createobject("component", "user"); newUser.setname("john"); On 2/17/06, Aaron Roberson <[EMAIL PROTECTED]> wrote: > Friends, > > I am learning Java and CFC development in ColdFusion at the same time. > I keep going back and forth between the two because they complement > each other so well. Anyways, my question is not in regards to the > specifics of the language, but with OOP design patterns and > encapsulation. > > HERE IT GOES: > > In my Java book it says that if a method is public, a data filed could > be assigned a value directly, BUT doing so "violates an important > principle of object-oriented programming -- that of data hiding using > encapsulation. > > However, I have seen alot of CF developers write code that directly > assigns values to data fields in CFC's like the following: > > CALLING PAGE > > > newUser = createobject("component", "user"); > newUser.name = "john" > newuser.setname(); > > > COMPONENT > > > > > init(); > > > > > > > > > > > > > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:232658 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: CFC newbie: trying the calendar API, getting error
it looks like it is specifically coded to run from the calendar folder. Try creating a calendar folder and dropping all the files in that and running it again. I dropped the folder that unzipped from the download, into my webroot. called /calendar/sample/index.cfm and the whole app came to life. Good Luck simeon On Tue, 25 Jan 2005 12:38:23 -0500, Damien McKenna <[EMAIL PROTECTED]> wrote: > Greetings everyone. > > I'm trying out the calendar API > (http://www.horwith.com/index.cfm?mode=entry&entry=C8837FD9-E081-0478-47 > F93823F4029950) and obviously have the directory structure messed up > somehow as it isn't working. I've set it up where all of the files are > under the site root and get this error: > > Could not find the ColdFusion Component calendar.cfc.calendar. > Please check that the given name is correct and that the component > exists. > The error occurred in > C:\Inetpub\wwwroot\secure3_spnvision_com\calendar\sample\Application.cfm > : line 23 > 21 :// set this to the path to your component > 22 :request.useScope.calendarCFCPath = > "calendar.cfc.calendar"; > 23 :request.useScope.objCalendar = createObject("component", > request.useScope.calendarCFCPath); > 24 :request.useScope.objCalendar.init(now(), true); > 25 :request.useScope.objCalendar.setWeekStart(1); > > Anyone care to help me set this up? Thanks. > > -- > Damien McKenna - Web Developer - [EMAIL PROTECTED] > The Limu Company - http://www.thelimucompany.com/ - 407-804-1014 > #include > > ~| Discover CFTicket - The leading ColdFusion Help Desk and Trouble Ticket application http://www.houseoffusion.com/banners/view.cfm?bannerid=48 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:191747 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
RE: CFC Newbie Discussion.
> > Two follow up questions. You can't directly use the var key > word in the tag; . Correct. You also can't do after any line of real code. So, your first N lines of a method will be cfargument tags, then cfset var tags, then 'real' code. So, that's why you saw me do: > Also, when exactly does this data get garbage collected? Um, I'm assuming when the method is done. > Since it is in a method, does a query get created and > destroyed every time that method is used? I does it persist > for the life of the entire component? > The query does NOT persist because I used the var scope. However, imagine a case where you query to get the states in the US. This will not change anytime soon. Your code could look like so (pseudo-code): (above, in the constructor area) run a query and get the states in query named q In this example, the query persists as long as the CFC persists. === Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc (www.mindseye.com) Member of Team Macromedia (http://www.macromedia.com/go/teammacromedia) Email: [EMAIL PROTECTED] Blog : www.camdenfamily.com/morpheus/blog Yahoo IM : morpheus "My ally is the Force, and a powerful ally it is." - Yoda ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. http://www.cfhosting.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
Two follow up questions. You can't directly use the var key word in the tag; . Also, when exactly does this data get garbage collected? Since it is in a method, does a query get created and destroyed every time that method is used? I does it persist for the life of the entire component? -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: Raymond Camden [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 12:38 PM To: CF-Talk Subject: RE: CFC Newbie Discussion. > > So this example was meant to show how to protect variables > inside the method? If I follow correctly, you created a > variable scoped to the 'var' scope (named "myQuery"), then > set the variable equal to the value of the Query? Does this > mean that, if I follow what you say below... > Correct. Because you have to set a value IMMIDIATELY when you var scoped, I just use the empty string. > > ANY variable created inside a method should be var scoped > (unless you > > want it to exists outside the method). Don't forget things like > > create values, ditto for cfdirectory, etc. > > ...that normally, a query object that would be created, as a > result of performing a query, are now only available to that > method (since you scoped it 'var') and as soon as the object > is no longer being used, the variable 'disappears' as part of > the whole CFC garbage collection? Yes. > Is it garbage collection? I've been reamed before for daring to not use the _exact_ precise word, so, I'll say, maybe, yea, probably so. ;) -rc ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
> > So this example was meant to show how to protect variables > inside the method? If I follow correctly, you created a > variable scoped to the 'var' scope (named "myQuery"), then > set the variable equal to the value of the Query? Does this > mean that, if I follow what you say below... > Correct. Because you have to set a value IMMIDIATELY when you var scoped, I just use the empty string. > > ANY variable created inside a method should be var scoped > (unless you > > want it to exists outside the method). Don't forget things like > > create values, ditto for cfdirectory, etc. > > ...that normally, a query object that would be created, as a > result of performing a query, are now only available to that > method (since you scoped it 'var') and as soon as the object > is no longer being used, the variable 'disappears' as part of > the whole CFC garbage collection? Yes. > Is it garbage collection? I've been reamed before for daring to not use the _exact_ precise word, so, I'll say, maybe, yea, probably so. ;) -rc ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
on 6/10/03 2:55 PM, Raymond Camden at [EMAIL PROTECTED] wrote: > By the way, there is one more scope you should be convered with - and > that is 'var' scoped method variables. Whenever you use a value in a > method, a value that is NOT meant to exist in the CFC whole, you should > use the var scope. Here is an example: > > > > > > > ... > > > > > So this example was meant to show how to protect variables inside the method? If I follow correctly, you created a variable scoped to the 'var' scope (named "myQuery"), then set the variable equal to the value of the Query? Does this mean that, if I follow what you say below... > ANY variable created inside a method should be var scoped (unless you > want it to exists outside the method). Don't forget things like > create values, ditto for cfdirectory, etc. ...that normally, a query object that would be created, as a result of performing a query, are now only available to that method (since you scoped it 'var') and as soon as the object is no longer being used, the variable 'disappears' as part of the whole CFC garbage collection? Is it garbage collection? ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
Thanks, this is actually beginning to make some sense. As to the variables.A throwing an error, I figured out that I wasn't being consistent in my naming. I set it as variables.A, but then I called it in the calculation as just A. When I changed that call to variables.A everything worked/didn't work just as described. Reinforcing that the variables scope and the un-named scope are completely different and don't share information. -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: Michael Tangorre [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 11:57 AM To: CF-Talk Subject: Re: CFC Newbie Discussion. You are asking all the right quesitons to learn... keep asking. :-) to keep variables protected within functions, use: to keep variables protected to the cfc and functions within the cfc, use: your own structure or use no scope. to allow variables to be exposed to the cfc (including the functions) as well as the calling templates, use: In terms of the variables scope you get an error on, to be honost, I do not know. I do not use the variables scope within CFCs. Id be interested to know though. Hope this helps you. Mike - Original Message - From: "Ian Skinner" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 2:49 PM Subject: RE: CFC Newbie Discussion. > Ahh, I understand now, the best practice we are talking about is protecting > the state/variables of ones objects, but using private variables and > functions to manipulate them. I would generally agree with that as well, > for a little as I've used objects in programming to date. I'm just trying > to get as complete a picture of how each scope and access behaves so I can > better know how to write code that will do what I want it and how to debug > it when it doesn't. > > > A question on the "variables" scope bug in a CFC. The link provided earlier > stated that a variable defined in a CFC using the variables scope would be > accessible to the methods of the component (proper) as well as the calling > template (improper/bug). But in my experiments I found the variables I > scoped with "variables" where ONLY accessible to the calling template and > not any of the methods in the CFC. Is this bug bigger then I understand, or > is something else going on here? > > Example > > > > > > > > > > > In this example, I get an error stating that the variable A is not defined? > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > > -Original Message- > From: Christian Cantrell [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 11:40 AM > To: CF-Talk > Subject: Re: CFC Newbie Discussion. > > > On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > > > While I strongly urge folks to not use the This scope, I would _not_ > > call it a bug. The This scope works _exactly_ as advertised, it's just > > not the preferred way of storing data for a CFC. > > Raymond is correct. It is not a bug -- it's just how CFCs were > designed to work. If you need data publicly accessible, use of the > "this" scope is fine. If you need your data to be private, either use > the "unnamed" scope, or create your own private struct. I would > recommend keeping data as private as possible, however if you don't > feel you need to, or it doesn't fit with your architecture, then do > what is best for you. > > Christian > > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
You are asking all the right quesitons to learn... keep asking. :-) to keep variables protected within functions, use: to keep variables protected to the cfc and functions within the cfc, use: your own structure or use no scope. to allow variables to be exposed to the cfc (including the functions) as well as the calling templates, use: In terms of the variables scope you get an error on, to be honost, I do not know. I do not use the variables scope within CFCs. Id be interested to know though. Hope this helps you. Mike - Original Message - From: "Ian Skinner" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 2:49 PM Subject: RE: CFC Newbie Discussion. > Ahh, I understand now, the best practice we are talking about is protecting > the state/variables of ones objects, but using private variables and > functions to manipulate them. I would generally agree with that as well, > for a little as I've used objects in programming to date. I'm just trying > to get as complete a picture of how each scope and access behaves so I can > better know how to write code that will do what I want it and how to debug > it when it doesn't. > > > A question on the "variables" scope bug in a CFC. The link provided earlier > stated that a variable defined in a CFC using the variables scope would be > accessible to the methods of the component (proper) as well as the calling > template (improper/bug). But in my experiments I found the variables I > scoped with "variables" where ONLY accessible to the calling template and > not any of the methods in the CFC. Is this bug bigger then I understand, or > is something else going on here? > > Example > > > > > > > > > > > In this example, I get an error stating that the variable A is not defined? > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > > -Original Message- > From: Christian Cantrell [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 11:40 AM > To: CF-Talk > Subject: Re: CFC Newbie Discussion. > > > On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > > > While I strongly urge folks to not use the This scope, I would _not_ > > call it a bug. The This scope works _exactly_ as advertised, it's just > > not the preferred way of storing data for a CFC. > > Raymond is correct. It is not a bug -- it's just how CFCs were > designed to work. If you need data publicly accessible, use of the > "this" scope is fine. If you need your data to be private, either use > the "unnamed" scope, or create your own private struct. I would > recommend keeping data as private as possible, however if you don't > feel you need to, or it doesn't fit with your architecture, then do > what is best for you. > > Christian > > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
This is due to a known bug. In general, just leave off Variables, or, use your own struct: By the way, there is one more scope you should be convered with - and that is 'var' scoped method variables. Whenever you use a value in a method, a value that is NOT meant to exist in the CFC whole, you should use the var scope. Here is an example: ... ANY variable created inside a method should be var scoped (unless you want it to exists outside the method). Don't forget things like create values, ditto for cfdirectory, etc. === Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc (www.mindseye.com) Member of Team Macromedia (http://www.macromedia.com/go/teammacromedia) Email: [EMAIL PROTECTED] Blog : www.camdenfamily.com/morpheus/blog Yahoo IM : morpheus "My ally is the Force, and a powerful ally it is." - Yoda > -Original Message- > From: Ian Skinner [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 12:49 PM > To: CF-Talk > Subject: RE: CFC Newbie Discussion. > > > Ahh, I understand now, the best practice we are talking about > is protecting the state/variables of ones objects, but using > private variables and functions to manipulate them. I would > generally agree with that as well, for a little as I've used > objects in programming to date. I'm just trying to get as > complete a picture of how each scope and access behaves so I > can better know how to write code that will do what I want it > and how to debug it when it doesn't. > > > A question on the "variables" scope bug in a CFC. The link > provided earlier stated that a variable defined in a CFC > using the variables scope would be accessible to the methods > of the component (proper) as well as the calling template > (improper/bug). But in my experiments I found the variables > I scoped with "variables" where ONLY accessible to the > calling template and not any of the methods in the CFC. Is > this bug bigger then I understand, or is something else going on here? > > Example > > > > >returntype="numeric"> > > > > > > In this example, I get an error stating that the variable A > is not defined? > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > > -Original Message- > From: Christian Cantrell [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 11:40 AM > To: CF-Talk > Subject: Re: CFC Newbie Discussion. > > > On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > > > While I strongly urge folks to not use the This scope, I > would _not_ > > call it a bug. The This scope works _exactly_ as > advertised, it's just > > not the preferred way of storing data for a CFC. > > Raymond is correct. It is not a bug -- it's just how CFCs were > designed to work. If you need data publicly accessible, use of the > "this" scope is fine. If you need your data to be private, > either use > the "unnamed" scope, or create your own private struct. I would > recommend keeping data as private as possible, however if you don't > feel you need to, or it doesn't fit with your architecture, then do > what is best for you. > > Christian > > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
Ahh, I understand now, the best practice we are talking about is protecting the state/variables of ones objects, but using private variables and functions to manipulate them. I would generally agree with that as well, for a little as I've used objects in programming to date. I'm just trying to get as complete a picture of how each scope and access behaves so I can better know how to write code that will do what I want it and how to debug it when it doesn't. A question on the "variables" scope bug in a CFC. The link provided earlier stated that a variable defined in a CFC using the variables scope would be accessible to the methods of the component (proper) as well as the calling template (improper/bug). But in my experiments I found the variables I scoped with "variables" where ONLY accessible to the calling template and not any of the methods in the CFC. Is this bug bigger then I understand, or is something else going on here? Example In this example, I get an error stating that the variable A is not defined? -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: Christian Cantrell [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 11:40 AM To: CF-Talk Subject: Re: CFC Newbie Discussion. On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > While I strongly urge folks to not use the This scope, I would _not_ > call it a bug. The This scope works _exactly_ as advertised, it's just > not the preferred way of storing data for a CFC. Raymond is correct. It is not a bug -- it's just how CFCs were designed to work. If you need data publicly accessible, use of the "this" scope is fine. If you need your data to be private, either use the "unnamed" scope, or create your own private struct. I would recommend keeping data as private as possible, however if you don't feel you need to, or it doesn't fit with your architecture, then do what is best for you. Christian ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
One good reason to keep data private, even if it doesn't seem important: If you keep it private from the get go, and build get/set functions, and then later on realize it really does need to be private, you don't have to update any of your caller code. === Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc (www.mindseye.com) Member of Team Macromedia (http://www.macromedia.com/go/teammacromedia) Email: [EMAIL PROTECTED] Blog : www.camdenfamily.com/morpheus/blog Yahoo IM : morpheus "My ally is the Force, and a powerful ally it is." - Yoda > -Original Message- > From: Christian Cantrell [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 12:40 PM > To: CF-Talk > Subject: Re: CFC Newbie Discussion. > > > On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > > > While I strongly urge folks to not use the This scope, I > would _not_ > > call it a bug. The This scope works _exactly_ as > advertised, it's just > > not the preferred way of storing data for a CFC. > > Raymond is correct. It is not a bug -- it's just how CFCs were > designed to work. If you need data publicly accessible, use of the > "this" scope is fine. If you need your data to be private, > either use > the "unnamed" scope, or create your own private struct. I would > recommend keeping data as private as possible, however if you don't > feel you need to, or it doesn't fit with your architecture, then do > what is best for you. > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
On Tuesday, June 10, 2003, at 02:20 PM, Raymond Camden wrote: > While I strongly urge folks to not use the This scope, I would _not_ > call it a bug. The This scope works _exactly_ as advertised, it's just > not the preferred way of storing data for a CFC. Raymond is correct. It is not a bug -- it's just how CFCs were designed to work. If you need data publicly accessible, use of the "this" scope is fine. If you need your data to be private, either use the "unnamed" scope, or create your own private struct. I would recommend keeping data as private as possible, however if you don't feel you need to, or it doesn't fit with your architecture, then do what is best for you. Christian ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
Ian, That question is a bit vague... Remember any data in a CFC only persists for the duration of the page request. To have it perists longer, you can load it into the session scope for instance. - Original Message - From: "Ian Skinner" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 2:30 PM Subject: RE: CFC Newbie Discussion. > So what is the Preferred way to store data for a CFC? > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > > -Original Message- > From: Raymond Camden [mailto:[EMAIL PROTECTED] > Sent: Tuesday, June 10, 2003 11:20 AM > To: CF-Talk > Subject: RE: CFC Newbie Discussion. > > > While I strongly urge folks to not use the This scope, I would _not_ > call it a bug. The This scope works _exactly_ as advertised, it's just > not the preferred way of storing data for a CFC. > > -Raymond Camen > > > > > Let me point out the scope bug... > > > > using "this" scope exposes your data members outside of the > > cfc. In addition, the varibales scope is not the default for > > not providing a scope within a CFC. There is something known > > as the "unknown" scope. This unknown scope allows data > > members to be available to functions within the CFC... not outside of. > > > > this.someVar would be accessible inside and outside of the > > CFC someVar would be accessible inside the CFC to the functions only. > > > > > > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
Here is a summary from a few previous emails: 1. Define properties(variables) as instance.X to prevent any outside view or editing of them. 2. Use "getX" methods to allow outside viewing, and "setX" methods to set the variable. 3. Define non-property variables used with each method through (cfset var a="tmpVariable"> to prevent accidental overriding of variable used elsewhere. 4. Use and Hints within and to document your cfc. Andy -Original Message- From: Ian Skinner [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 12:25 PM To: CF-Talk Subject: CFC Newbie Discussion. I'm experimenting with my first CFC. I've written these simple example files. *** test.cfc *** *** end *** *** test.cfm *** #testObj.X# * #testObj.Y# = #joe# #testObj.X# * #testObj.Y# = #testObj.multiplyXY()# #this.X# * #this.Y# = #this.X * this.Y# #sam# #testObj.multiplyAB()# #A * B# #joe2# #sam2# *** end *** What I would like to discuss is the performance differences between the various component methods I've tested here. In the CFC code, the X and Y variables are in the "this" scope and the A and B variables are in the default "variable" scope. What are the differences between these practices other then the X and Y are available as properties of an object (obj.X and obj.Y). Then in the CFM code I accessed the component a couple different ways. I first used a tag to "instantiate" an instance of the component as a object variable "testObj". I then accessed the methods of that instance with a on testObj and directly [testObj.method()]. Finally I just accessed the methods of the component directly with . I would like to discuss the pros and cons of these different practices and when one might be better then another. Also, I remember reading about some kind of scope bug involving CFC's, but since I wasn't really familiar with CFC's at the time, I really didn't understand what I was reading. What would this be about? Thank You -- Ian Skinner Web Programmer BloodSource Sacramento, CA ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
The this scope has always worked exactly as I expected, and I do prefer to use it to store data unless there is a specific reason not to. -- jon mailto:[EMAIL PROTECTED] Tuesday, June 10, 2003, 2:20:22 PM, you wrote: RC> While I strongly urge folks to not use the This scope, I would _not_ RC> call it a bug. The This scope works _exactly_ as advertised, it's just RC> not the preferred way of storing data for a CFC. RC> -Raymond Camen >> >> Let me point out the scope bug... >> >> using "this" scope exposes your data members outside of the >> cfc. In addition, the varibales scope is not the default for >> not providing a scope within a CFC. There is something known >> as the "unknown" scope. This unknown scope allows data >> members to be available to functions within the CFC... not outside of. >> >> this.someVar would be accessible inside and outside of the >> CFC someVar would be accessible inside the CFC to the functions only. >> >> RC> ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
So what is the Preferred way to store data for a CFC? -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: Raymond Camden [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 11:20 AM To: CF-Talk Subject: RE: CFC Newbie Discussion. While I strongly urge folks to not use the This scope, I would _not_ call it a bug. The This scope works _exactly_ as advertised, it's just not the preferred way of storing data for a CFC. -Raymond Camen > > Let me point out the scope bug... > > using "this" scope exposes your data members outside of the > cfc. In addition, the varibales scope is not the default for > not providing a scope within a CFC. There is something known > as the "unknown" scope. This unknown scope allows data > members to be available to functions within the CFC... not outside of. > > this.someVar would be accessible inside and outside of the > CFC someVar would be accessible inside the CFC to the functions only. > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
While I strongly urge folks to not use the This scope, I would _not_ call it a bug. The This scope works _exactly_ as advertised, it's just not the preferred way of storing data for a CFC. -Raymond Camen > > Let me point out the scope bug... > > using "this" scope exposes your data members outside of the > cfc. In addition, the varibales scope is not the default for > not providing a scope within a CFC. There is something known > as the "unknown" scope. This unknown scope allows data > members to be available to functions within the CFC... not outside of. > > this.someVar would be accessible inside and outside of the > CFC someVar would be accessible inside the CFC to the functions only. > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Host with the leader in ColdFusion hosting. Voted #1 ColdFusion host by CF Developers. Offering shared and dedicated hosting options. www.cfxhosting.com/default.cfm?redirect=10481 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
I was a bit surprised about the "this" scope working in the CFM file as well. It did just create local variables that are different then the variables in the component object. So they make a kind of perverted sense if you think of the caller page as an object in it self. I wonder if they are different then "variables" scoped variables on the same page. I'll try that. Thanks for the link, I now understand what the "scope" bug is about. I'll experiment with it to get an understanding. -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: jon hall [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 11:01 AM To: CF-Talk Subject: Re: CFC Newbie Discussion. This part confuses me...this scoped variables refer to the object they are contained within. It looks like you are setting them outside of a cfc. All that will do is create a structure called this, which contains x and y keys, its odd it works in the first place. I would think this should be a reserved word in MX. Hrm. Otherwise it's really personal preference on how to invoke your methods. It really depends on what they return, if anything. Like Michael I prefer createObject() for instantiating cfc though. Same code in cfml and cfscript, plus it's just less typing. The only big scope issue to me is the variables scope inside a cfc being available outside of it. This could be fixed in the upcoming release though...no way of knowing without joining the beta program though I guess. http://cfguru.daemon.com.au/archives/67.html -- jon mailto:[EMAIL PROTECTED] Tuesday, June 10, 2003, 1:24:50 PM, you wrote: IS> I'm experimenting with my first CFC. I've written these simple example IS> files. IS> What I would like to discuss is the performance differences between the IS> various component methods I've tested here. IS> In the CFC code, the X and Y variables are in the "this" scope and the A and IS> B variables are in the default "variable" scope. What are the differences IS> between these practices other then the X and Y are available as properties IS> of an object (obj.X and obj.Y). IS> Then in the CFM code I accessed the component a couple different ways. I IS> first used a tag to "instantiate" an instance of the component as IS> a object variable "testObj". I then accessed the methods of that instance IS> with a on testObj and directly [testObj.method()]. Finally I IS> just accessed the methods of the component directly with . IS> I would like to discuss the pros and cons of these different practices and IS> when one might be better then another. Also, I remember reading about some IS> kind of scope bug involving CFC's, but since I wasn't really familiar with IS> CFC's at the time, I really didn't understand what I was reading. What IS> would this be about? ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
good point John. By the way, i got the presentation CD in the mail yesterday from Atlanta and it was quite interersting. :-) Anyways, I guess I tend to leverage CFCs with the object mindset, always of the shortcomings however... and that stems from my C/C++ background. At anyate, good point, and probably for a person new to CFCs, keeping them focused on CFCs and not the relations to OO would be a good start. Mike - Original Message - From: "John Quarto-vonTivadar" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 1:53 PM Subject: Re: CFC Newbie Discussion. > > > > Thinking about CFCs like classes in Java or C++ is natural for me, so I > like > > to work in that mentality.. > > it might be more efficient to think of CFCs like CFCs, that way you can use > their features effectively, and not be disappointed or disillusioned if CFCs > do things you dont expect or dont do things you do expect > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
This part confuses me...this scoped variables refer to the object they are contained within. It looks like you are setting them outside of a cfc. All that will do is create a structure called this, which contains x and y keys, its odd it works in the first place. I would think this should be a reserved word in MX. Hrm. Otherwise it's really personal preference on how to invoke your methods. It really depends on what they return, if anything. Like Michael I prefer createObject() for instantiating cfc though. Same code in cfml and cfscript, plus it's just less typing. The only big scope issue to me is the variables scope inside a cfc being available outside of it. This could be fixed in the upcoming release though...no way of knowing without joining the beta program though I guess. http://cfguru.daemon.com.au/archives/67.html -- jon mailto:[EMAIL PROTECTED] Tuesday, June 10, 2003, 1:24:50 PM, you wrote: IS> I'm experimenting with my first CFC. I've written these simple example IS> files. IS> What I would like to discuss is the performance differences between the IS> various component methods I've tested here. IS> In the CFC code, the X and Y variables are in the "this" scope and the A and IS> B variables are in the default "variable" scope. What are the differences IS> between these practices other then the X and Y are available as properties IS> of an object (obj.X and obj.Y). IS> Then in the CFM code I accessed the component a couple different ways. I IS> first used a tag to "instantiate" an instance of the component as IS> a object variable "testObj". I then accessed the methods of that instance IS> with a on testObj and directly [testObj.method()]. Finally I IS> just accessed the methods of the component directly with . IS> I would like to discuss the pros and cons of these different practices and IS> when one might be better then another. Also, I remember reading about some IS> kind of scope bug involving CFC's, but since I wasn't really familiar with IS> CFC's at the time, I really didn't understand what I was reading. What IS> would this be about? ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. http://www.cfhosting.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
> > Thinking about CFCs like classes in Java or C++ is natural for me, so I like > to work in that mentality.. it might be more efficient to think of CFCs like CFCs, that way you can use their features effectively, and not be disappointed or disillusioned if CFCs do things you dont expect or dont do things you do expect ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC Newbie Discussion.
Is this a Bug in the sense that my code will not run correctly. Or is it a Bug in the sense that this is not a standard and/or correct behavior for an object? If I am understanding you correctly, using the "This" scope, the variables are available inside and outside of the component, in other words they are "public" properties/variables. But a variable without a scope specification is in this "Unknown/unnamed" scope and are only accessible to methods within the component, in other words they are "private". If I code with this understanding, does this cause a problem? I did an experiment. I added the following code to my CFC. When I access these variables later in a method, they where set to 7 and 11. So what is this "unknown/unnamed" scope? How does it cause a problem or affect my coding? -- Ian Skinner Web Programmer BloodSource Sacramento, CA -Original Message- From: Michael Tangorre [mailto:[EMAIL PROTECTED] Sent: Tuesday, June 10, 2003 10:32 AM To: CF-Talk Subject: Re: CFC Newbie Discussion. Let me point out the scope bug... using "this" scope exposes your data members outside of the cfc. In addition, the variables scope is not the default for not providing a scope within a CFC. There is something known as the "unknown" scope. This unknown scope allows data members to be available to functions within the CFC... not outside of. this.someVar would be accessible inside and outside of the CFC someVar would be accessible inside the CFC to the functions only. ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
not unknown... obviosuly its known :-) known as nothing! That should read the unnamed scope. Sorry If I confused matters... - Original Message - From: "Michael Tangorre" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 1:32 PM Subject: Re: CFC Newbie Discussion. > Let me point out the scope bug... > > using "this" scope exposes your data members outside of the cfc. In > addition, the varibales scope is not the default for not providing a scope > within a CFC. There is something known as the "unknown" scope. This unknown > scope allows data members to be available to functions within the CFC... not > outside of. > > this.someVar would be accessible inside and outside of the CFC > someVar would be accessible inside the CFC to the functions only. > > > > - Original Message - > From: "Ian Skinner" <[EMAIL PROTECTED]> > To: "CF-Talk" <[EMAIL PROTECTED]> > Sent: Tuesday, June 10, 2003 1:24 PM > Subject: CFC Newbie Discussion. > > > > I'm experimenting with my first CFC. I've written these simple example > > files. > > > > *** test.cfc *** > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > *** end *** > > > > *** test.cfm *** > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > #testObj.X# * #testObj.Y# = #joe# > > #testObj.X# * #testObj.Y# = #testObj.multiplyXY()# > > #this.X# * #this.Y# = #this.X * this.Y# > > > > #sam# > > #testObj.multiplyAB()# > > #A * B# > > > > #joe2# > > #sam2# > > > > *** end *** > > > > What I would like to discuss is the performance differences between the > > various component methods I've tested here. > > > > In the CFC code, the X and Y variables are in the "this" scope and the A > and > > B variables are in the default "variable" scope. What are the differences > > between these practices other then the X and Y are available as properties > > of an object (obj.X and obj.Y). > > > > Then in the CFM code I accessed the component a couple different ways. I > > first used a tag to "instantiate" an instance of the component > as > > a object variable "testObj". I then accessed the methods of that instance > > with a on testObj and directly [testObj.method()]. Finally I > > just accessed the methods of the component directly with . > > > > I would like to discuss the pros and cons of these different practices and > > when one might be better then another. Also, I remember reading about > some > > kind of scope bug involving CFC's, but since I wasn't really familiar with > > CFC's at the time, I really didn't understand what I was reading. What > > would this be about? > > > > Thank You > > > > -- > > Ian Skinner > > Web Programmer > > BloodSource > > Sacramento, CA > > > > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
In terms of which is the most efficient way of calling a cfcs... I like to use CreateObject(objectname,component); Thinking about CFCs like classes in Java or C++ is natural for me, so I like to work in that mentality.. like Hal Helms points out. Keep in mind though, some hosting providers limit the use of this function. cfinvoke is nice as well... - Original Message - From: "Ian Skinner" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 1:24 PM Subject: CFC Newbie Discussion. > I'm experimenting with my first CFC. I've written these simple example > files. > > *** test.cfc *** > > > > > > > > > > > > > > > > > > *** end *** > > *** test.cfm *** > > > > > > > > > > > > > > > > > #testObj.X# * #testObj.Y# = #joe# > #testObj.X# * #testObj.Y# = #testObj.multiplyXY()# > #this.X# * #this.Y# = #this.X * this.Y# > > #sam# > #testObj.multiplyAB()# > #A * B# > > #joe2# > #sam2# > > *** end *** > > What I would like to discuss is the performance differences between the > various component methods I've tested here. > > In the CFC code, the X and Y variables are in the "this" scope and the A and > B variables are in the default "variable" scope. What are the differences > between these practices other then the X and Y are available as properties > of an object (obj.X and obj.Y). > > Then in the CFM code I accessed the component a couple different ways. I > first used a tag to "instantiate" an instance of the component as > a object variable "testObj". I then accessed the methods of that instance > with a on testObj and directly [testObj.method()]. Finally I > just accessed the methods of the component directly with . > > I would like to discuss the pros and cons of these different practices and > when one might be better then another. Also, I remember reading about some > kind of scope bug involving CFC's, but since I wasn't really familiar with > CFC's at the time, I really didn't understand what I was reading. What > would this be about? > > Thank You > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: CFC Newbie Discussion.
Let me point out the scope bug... using "this" scope exposes your data members outside of the cfc. In addition, the varibales scope is not the default for not providing a scope within a CFC. There is something known as the "unknown" scope. This unknown scope allows data members to be available to functions within the CFC... not outside of. this.someVar would be accessible inside and outside of the CFC someVar would be accessible inside the CFC to the functions only. - Original Message - From: "Ian Skinner" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Tuesday, June 10, 2003 1:24 PM Subject: CFC Newbie Discussion. > I'm experimenting with my first CFC. I've written these simple example > files. > > *** test.cfc *** > > > > > > > > > > > > > > > > > > *** end *** > > *** test.cfm *** > > > > > > > > > > > > > > > > > #testObj.X# * #testObj.Y# = #joe# > #testObj.X# * #testObj.Y# = #testObj.multiplyXY()# > #this.X# * #this.Y# = #this.X * this.Y# > > #sam# > #testObj.multiplyAB()# > #A * B# > > #joe2# > #sam2# > > *** end *** > > What I would like to discuss is the performance differences between the > various component methods I've tested here. > > In the CFC code, the X and Y variables are in the "this" scope and the A and > B variables are in the default "variable" scope. What are the differences > between these practices other then the X and Y are available as properties > of an object (obj.X and obj.Y). > > Then in the CFM code I accessed the component a couple different ways. I > first used a tag to "instantiate" an instance of the component as > a object variable "testObj". I then accessed the methods of that instance > with a on testObj and directly [testObj.method()]. Finally I > just accessed the methods of the component directly with . > > I would like to discuss the pros and cons of these different practices and > when one might be better then another. Also, I remember reading about some > kind of scope bug involving CFC's, but since I wasn't really familiar with > CFC's at the time, I really didn't understand what I was reading. What > would this be about? > > Thank You > > -- > Ian Skinner > Web Programmer > BloodSource > Sacramento, CA > > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: CFC newbie
I have some recollection of someone on this list mentioning that "com" might cause problems in paths ( I think it was with relation to CFC's ) as a result of it having a significant meaning to the operating system -- though that's just random recollected heresay. I've also heard that having com in a url can cause problems as a result of it's significant meaning to dns and how some browsers handle domain names... though that in particular shouldn't matter in a cfc. > Actually, the last object label in the dotted notation should be the name > of > the file: > > -Original Message- > From: Michael Corbridge [mailto:mcorbridge@;macromedia.com] > Sent: Friday, October 18, 2002 10:21 AM > To: CF-Talk > Subject: RE: CFC newbie > create a CF mapping for 'com' > -Original Message- > From: Thomas Chiverton [mailto:thomas.chiverton@;locavista.com] > Sent: Friday, October 18, 2002 11:05 AM > To: CF-Talk > Subject: RE: CFC newbie >> > That should read "com.local.gui" sorry, mis-typed into Outlook, so still > broken... > ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm
RE: CFC newbie
> create a CF mapping for 'com' Ahh, great ! That was it. Friday brain fade - the sub dir I was in was mapped, so the 'com' directory I created was in the wrong place. Moving it to the actual wwwroot worked a treat. Tom Chiverton You don't have to be a mad scientist to believe in ColdFusion ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting.
RE: CFC newbie
Actually, the last object label in the dotted notation should be the name of the file: -Original Message- From: Michael Corbridge [mailto:mcorbridge@;macromedia.com] Sent: Friday, October 18, 2002 10:21 AM To: CF-Talk Subject: RE: CFC newbie create a CF mapping for 'com' -Original Message- From: Thomas Chiverton [mailto:thomas.chiverton@;locavista.com] Sent: Friday, October 18, 2002 11:05 AM To: CF-Talk Subject: RE: CFC newbie > That should read "com.local.gui" sorry, mis-typed into Outlook, so still broken... ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com
RE: CFC newbie
create a CF mapping for 'com' -Original Message- From: Thomas Chiverton [mailto:thomas.chiverton@;locavista.com] Sent: Friday, October 18, 2002 11:05 AM To: CF-Talk Subject: RE: CFC newbie > That should read "com.local.gui" sorry, mis-typed into Outlook, so still broken... ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting.
RE: CFC newbie
> That should read "com.local.gui" sorry, mis-typed into Outlook, so still broken... ~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/index.cfm?sidebar=lists&body=lists/cf_talk FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm
RE: CFC newbie question
Please remember to use the var scope. In the method below, both queryemail and success need to be var-ed. (I'd also add output=false.) === Raymond Camden, ColdFusion Jedi Master for Hire Email: [EMAIL PROTECTED] Yahoo IM : cfjedimaster "My ally is the Force, and a powerful ally it is." - Yoda > -Original Message- > From: Michael Corbridge [mailto:[EMAIL PROTECTED]] > Sent: Thursday, September 05, 2002 8:18 AM > To: CF-Talk > Subject: RE: CFC newbie question > > > h... > > all the example code was removed from my previous email. > I'll try again. > > > cftalk1.cfm > --- > emailid="Raymond" returnVariable="r_return"> > > > cftalk1.cfc > > > returntype="boolean" hint="Process Emails"> > > hint="ID of Email to send"> > > > > SELECT > * > FROM > tblEmployees > WHERE > FirstName = '#emailID#' > > >from = "[EMAIL PROTECTED]" > subject = "test"> > > test from cfc > #queryemail.LastName# > > > > > > > > > > __ This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: CFC newbie question
h... all the example code was removed from my previous email. I'll try again. cftalk1.cfm --- cftalk1.cfc SELECT * FROM tblEmployees WHERE FirstName = '#emailID#' test from cfc #queryemail.LastName# __ Your ad could be here. Monies from ads go to support these lists and provide more resources for the community. http://www.fusionauthority.com/ads.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: CFC newbie question
Ali, Here is a stripped down version of your cfc that works with the native 'exampleapps' datasource that is shipped with CFMX. Notes: You have set the method access='private' which means that method can only be called from another method in the component. When starting out with cfc's, I would ignore the access attrib. until you get comfortable with the basic architecture. I also note that in your cfc, the return var is 'binary', however you are returning a 'boolean' __ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: CFC newbie question
You forgot you # signs... > to="queryemail.tblemails_to" > from="queryemail.tblemails_from" should be > to="#queryemail.tblemails_to#" > from="#queryemail.tblemails_from#" Not a CFC issue - just a syntax issue. === Raymond Camden, ColdFusion Jedi Master for Hire Email: [EMAIL PROTECTED] Yahoo IM : cfjedimaster "My ally is the Force, and a powerful ally it is." - Yoda > -Original Message- > From: Ali Daniali [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, September 04, 2002 8:52 PM > To: CF-Talk > Subject: CFC newbie question > > > After hearing about CFCs and reading about CFCs I have finally decided > to write my first CFC. But I'm not sure if I have this whole > CFC concept > figured out. Below is my first CFC. I have not been able to get it to > work and was wondering if someone might be able to give me some help. > > Basically I have a database table with a whole bunch of > emails that can > be sent during a particular online application. Instead of embedding > CFMAIL one after another in my code I wanted to separate it > all...enter > CFCs...right? > > So I evoke this CFC passing an email ID argument to the the > component...it looks it up the email ID in the database and zap...its > supposed to send the right emailso here it iswhat am I doing > wrong? > > Thank you in advance > > > hint="Process Emails"> > hint="ID of > Email to send"> > > > SELECT * > FROM tblemails > WHERE tblemails_ID = ARGUMENTS.emailID > > to="queryemail.tblemails_to" > from="queryemail.tblemails_from" > cc="queryemail.tblemails_cc" > bcc="queryemail.tblemails_bcc" > query="queryemail.tblemails_query1" > server="queryemail.tblemails_server" > type="queryemail.tblemails_type"> > #queryemail.tblemails_message1##queryemail.tblemails_message2# > > success> > success> > > > > > > > Best Regards, > Ali Daniali > > > Ali Daniali > Director, Development and Programming > TransACT Communications, Inc. > 8423 Mukilteo Speedway, Suite 100 > Mukilteo, WA 98275 > Tel: 425.977.2117 > FAX: 425.977.2080 > Email: [EMAIL PROTECTED] > > __ This list and all House of Fusion resources hosted by CFHosting.com. The place for dependable ColdFusion Hosting. FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists