Nope. It shows that the variable is created, but it doesn't contain any data.
On Thu, Apr 5, 2012 at 3:37 PM, Alan Holden <[email protected]> wrote: > How are you looking? - if you cfdump Request.MainPage and cfabort - while > INSIDE that function then do you see something? > > Alan Holden > (at work) > > > On 4/5/2012 12:24 PM, Benjamin Davis wrote: > > Ok. That explains pretty much what I am seeing because of the way this > thing is working. I think that I've come up with a good work around which > should solve this and still be very simple, but now I have another problem! > :) > > What I was thinking was letting the index.cfm page into the buffer, then > storing the buffer into a variable, reset the buffer and the load the > design page. The problem that I have is that the buffer won't load into a > variable. Here is what I've tried. > > <cfset Request.MainPage = getPageContext().getOut().getString()> > <cfsavecontent > variable="Request.MainPage"><cfoutput>#getPageContext().getOut().getString()#</cfoutput></cfsavecontent> > > Neither one of these work. It just turns out as am empty string, but if > I just do <cfoutput>#getPageContext().getOut().getString()#</cfoutput> I > get the output. Strange.... > > > On Thu, Apr 5, 2012 at 1:14 PM, Alex Skinner <[email protected]> wrote: > >> Cfset inside a function is not varred unless you put var in front. >> >> Variables with no scope infront and no var are local to the Cfc or >> template but bear in mind if you persist a Cfc or udf in a shared scope >> like application or session the data may persist across requests or in your >> case pages >> >> Alex >> >> >> On Thursday, 5 April 2012, Benjamin Davis <[email protected]> >> wrote: >> > I was thinking that by default <cfset> inside of a function is >> considered a <cfset var>. I am incorrect on this? If not, does that mean >> that every <cfset> that I do on a single page (outside of a function) >> should also be var'd? >> > >> > On Thu, Apr 5, 2012 at 12:47 PM, Alex Skinner <[email protected]> wrote: >> >> >> >> No because they need to be varred. >> >> >> >> On Thursday, 5 April 2012, Benjamin Davis <[email protected]> >> wrote: >> >> > Thanks Alan! >> >> > I see what part of the problem here is. When you dumped the >> variables on the index page, it is coming through the call of the >> scanner.LoadTemplate, which has access to the full cfc. So, to test this. >> I created another function in the scanner.cfc which just returned "Hi" and >> then I called it from the index.cfm page >> with <cfoutput>#testing()#</cfoutput> and I get "Hi" on my page, so the >> index.cfm has full access to the scanner.cfc...... >> >> > I guess that I'm going to have to think this through a little bit >> more and come up with a better solution. >> >> > The strange thing still though, is that shouldn't each call to the >> function reset its local variables? For example, if I do a dump of the >> variables scope inside of my LoadTemplate function, each call to the >> function has the exact same variables. Shouldn't this be reset with each >> call? >> >> > Thanks for the name info. I didn't realize that I had done that as >> I was throwing this together. >> >> > >> >> > On Tue, Apr 3, 2012 at 9:29 PM, Alan Holden <[email protected]> >> wrote: >> >> > >> >> > It would be nice if we could post the salient parts of this code >> right in the mailing list, if you don't mind. You might get a broader >> response that way. >> >> > >> >> > NOTE: I get the same results from ACF9 as from OpenBD 2.02... G G G >> Ghost Vars!! RUN! AAAAyyyyeeeeee!! >> >> > >> >> > I put this line <cfdump var="#variables#"> at the end of your >> index.cfm file, and I can see all the things that CF considers >> "un-scoped". For example, while you DO scope application.Scanner on >> startup, this object has 2 methods within (LoadTemplate & LoadPage) that >> have popped up in the "variables" scope at the time the dump is called. >> >> > >> >> > I think the issue might come from using the OnRequest() method as >> the "code shell" for the whole page; also perhaps that the methods in >> scanner.cfc are not well encapsulated. They read from external scopes and >> write directly to the page, as opposed to [returning values back - from >> input arguments passed in], like most well-behaved functions. >> >> > >> >> > Here are some quasi-related conversations I found - that might help: >> >> > http://forums.adobe.com/message/2285269 >> >> > >> http://stackoverflow.com/questions/8188015/do-variables-inside-application-cfc-functions-need-scoping >> >> > http://forums.adobe.com/thread/604831 >> >> > >> http://livedocs.adobe.com/coldfusion/8/htmldocs/help.html?content=appFramework_04.html >> >> > >> >> > Finally, your application is named "Scanner", and you've also >> created an object named "Scanner" within it. Despite the referential >> separation by tiny dots, some people would cringe and shudder at such a >> naming practice. >> >> > >> >> > Al >> >> > >> >> > >> >> > On 4/3/2012 8:29 AM, Benjamin Davis wrote: >> >> > >> >> > Hey Alan, >> >> > Thanks for the info. Attached is a zip file with the basic of >> basics. In this example, the index.cfm file sets a variable and then when >> you to go page2.cfm, the variable is displayed, even though that page never >> specifically sets the variable. Let me know what you think. >> >> > Thanks! >> >> > Ben >> >> > >> >> > On Mon, Apr 2, 2012 at 5:54 PM, Alan Holden <[email protected]> >> wrote: >> >> > >> >> > It certainly seems like something (perhaps that function) is >> definitely causing the variables scope to go zombie on you. But you may >> need to whittle your code down to a core sample and actually post that - to >> get the greatest qty of help. >> >> > >> >> > Alan Holden >> >> > (at work) >> >> > >> >> > >> >> > On 4/2/2012 2:35 PM, Ben wrote: >> >> > >> >> > So, I have an interesting case that needs some external thought. >> I've created a "framework" that handles all of my security as well as >> combining the page that is requested into a template file. I've made this >> into a cfc that is loaded into the Application Scope. In my OnRequest >> function, I call another function of my framework that loads any external >> files, the requested file, and then the template file where everything gets >> combined. This has been working great, but then I realized that if >> >> >> >> -- >> >> online documentation: http://openbd.org/manual/ >> >> google+ hints/tips: https://plus.google.com/115990347459711259462 >> >> http://groups.google.com/group/openbd?hl=en >> > >> > -- >> > online documentation: http://openbd.org/manual/ >> > google+ hints/tips: https://plus.google.com/115990347459711259462 >> > http://groups.google.com/group/openbd?hl=en >> > >> >> -- >> Alex Skinner >> Managing Director >> Pixl8 Interactive >> >> Tel: +448452600726 >> Email: [email protected] >> Web: pixl8.co.uk >> >> -- >> online documentation: http://openbd.org/manual/ >> google+ hints/tips: https://plus.google.com/115990347459711259462 >> http://groups.google.com/group/openbd?hl=en >> > > -- > online documentation: http://openbd.org/manual/ > google+ hints/tips: https://plus.google.com/115990347459711259462 > http://groups.google.com/group/openbd?hl=en > > -- > online documentation: http://openbd.org/manual/ > google+ hints/tips: https://plus.google.com/115990347459711259462 > http://groups.google.com/group/openbd?hl=en > -- online documentation: http://openbd.org/manual/ google+ hints/tips: https://plus.google.com/115990347459711259462 http://groups.google.com/group/openbd?hl=en
