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
