Hi guys, In my opinion, shirk singletons if you can. I was using them too but I came across something called dependency injection and now I don't have a singleton in my code. And as a result the code is much better unit-testable.
Smartypants and legato-IOC are some frameworks you can use. If you search for 'alternatives to singleton flex', you'll find a number of articles telling you why singletons are bad. Nishant Kyal www.itasveer.com On Wed, Mar 11, 2009 at 8:07 PM, Venkat Viswanathan <[email protected]>wrote: > Hi Tyagi, > > The information stored inside a Singleton class will be accessible in any > section inside that particular application. But if you try to access it from > a different SWF, it would depend on how you are loading the other SWF. Are > you loading it using SWFLoader or as a module? (should be accessible here) > Or are you loading it as a separate HTML object (wont work in this case)? > > Read this.. maybe of some use to you... > http://raghuonflex.wordpress.com/2007/08/31/swfloader-loading-multiple-apps-and-using-the-same-singletons-generates-a-rte/ > > Regards, > Venkat > www.venkatv.com > > > > On Wed, Mar 11, 2009 at 3:12 PM, tyagi <[email protected]> wrote: > >> >> Hi.. >> Regarding using a singleton class for storing information.. >> I wanted to know if the values stored in a singleton are accessible >> across different swf files.. >> >> Regards, >> Tyagi >> >> On Mar 9, 9:01 pm, vageesh hg <[email protected]> wrote: >> > Hi, >> > Sorry, its still giving me zero. >> > The updated value is what I get if I access the variable in the same >> mxml >> > file in which I update the value. But if I use it in any other file I >> get 0. >> > >> > //code I am currently using to update the uid and name value in >> login.mxml >> > private var myauth:LoginAuth = LoginAuth.getInstance(); >> > myauth.UserName=evt.result.name; >> > myauth.Userid=evt.result.userid; >> > navigateToURL(new URLRequest('welcome.html'),'_self'); >> > //where evt result is got by PHP >> > >> > //welcome.html contains >> > private var auth:LoginAuth = LoginAuth.getInstance(); >> > Alert.show(auth.Userid+" "+auth.UserName+""); >> > >> > I am getting the values 0 and NULL( ie, "") in the Alert. >> > >> > //LoginAuth.as declaration statements >> > private static var instance:LoginAuth = new LoginAuth(); >> > [Bindable] >> > private var uid:Number; >> > private var name:String; >> > >> > >> > >> > On Mon, Mar 9, 2009 at 6:53 PM, Flexian_me <[email protected]> >> wrote: >> > >> > > make uid as Bindable like this - >> > >> > > [Bindable] >> > > private var uid:Number; >> > >> > > I hope it'll solve .Try and reply if it works . >> > >> > > On Mar 9, 11:59 am, tyagi <[email protected]> wrote: >> > > > Hi all, >> > > > I am a newbie to flex and am currently doing a project using flex.. >> > > > It involves a login module and I am using a singleton class to store >> > > > the logged in user details for further reference.. But the problem I >> > > > am facing is that the values of attributes of the class are not >> > > > getting updated.. >> > > > The singleton class code is: >> > >> > > > package classes{ >> > > > import mx.controls.Alert; >> > >> > > > public final class LoginAuth{ >> > > > private static var instance:LoginAuth = new >> LoginAuth(); >> > > > private var uid:Number; >> > > > private var name:String; >> > >> > > > public function LoginAuth(){ >> > > > uid=0; >> > > > name=""; >> > > > } >> > > > public static function getInstance():LoginAuth{ >> > > > if(instance==null){ >> > > > Alert.show("wrong"); >> > > > } >> > > > return instance; >> > > > } >> > >> > > > public function get Userid():Number{ >> > > > return uid; >> > > > } >> > > > public function set Userid(value:Number):void{ >> > > > uid = value; >> > > > } >> > > > public function get UserName():String{ >> > > > return name; >> > > > } >> > > > public function set UserName(value:String):void{ >> > > > name=value; >> > > > } >> > > > } >> > >> > > > } >> > >> > > > and the variable created in one of the mxml file is: >> > > > private var auth:LoginAuth = LoginAuth.getInstance(); >> > >> > > > But the problem is if I update the 'uid' value by using >> auth.Userid=2; >> > > > and access that value in a different mxml page then it gives the >> value >> > > > as 0.. >> > > > Can you please help me out with this.. >> > > > Thanks in advance >> > >> > > > Regards, >> > > > Tyagi >> > >> > > > On Mar 2, 11:58 am, Ramesh A <[email protected]> wrote: >> > >> > > > > Dear sudhi >> > >> > > > > declare popup file . public var PopIpSample pop; >> > >> > > > > create the popup window in some method when u call popup window. >> > >> > > > > pop= >> > > > > PopIpSample (PopUpManager.createPopUp(this, PopIpSample , >> > > false)); >> > >> > > > > then check whether the popup is open or not.. >> > > > > if(pop==null) >> > > > > create and open >> > > > > else >> > > > > nothing.. >> > >> > > > > try this and let me know any problem. >> > >> > > > > On Mon, Mar 2, 2009 at 9:37 AM, sudhi <[email protected]> wrote: >> > >> > > > > > Dear Anand, >> > >> > > > > > Thanks a lot for your reply... >> > > > > > But you didn tell me why i am geting the error when i click on >> > > > > > the datapoint which has already opened a nonModal popup window.. >> > >> > > > > > Thanks and Regards >> > > > > > Sudhi >> > >> > Regards, >> > -- >> > Tyagi >> >> >> > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Flex India Community" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/flex_india?hl=en -~----------~----~----~----~------~----~------~--~---

