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

Reply via email to