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

Reply via email to