issue in my sample: replace _user with testClass (should be _testClass)
I forgot to make a couple changes (was using some code from a project as a sample) --- In flexcoders@yahoogroups.com, "gotjosh819i" <[EMAIL PROTECTED]> wrote: > > Seems you are missing the constructor that actually performs the > singleton protection, Here is an example of one way to create a > singleton class (there are others): > > > ************=================================*********** > package com.somefolder.vo > { > > [Bindable] public class TestClass > { > > private static var testMe: TestClass; > > public var user_bemsid:Number = 0; > public var user_fname:String = ""; > public var user_lname:String = ""; > public var user_mname:String = ""; > > > // singleton: constructor only allows one user > public function TestClass() : void { > if ( _user != null ) { > throw new Error( "Only one TestClass > instance can be instantiated" ); > } > > } > > // singleton: always returns the one existing static > instance to itself > public static function getInstance() : TestClass { > if ( _user == null ) { > _user = new TestClass(); > } > return _user; > } > > > } > } > > ************=================================******* > > This is an example of how you init the class, if you try to init it > more then once it will throw an error: > > import com.somefolder.TestClass; > [Bindable] public var testModel : TestClass = TestClass.getInstance (); > > > > I would recommend looking into Cairngorm as it utilizes many design > patterns that fix many issues you will run into as a developer using > Flex. > > --- In flexcoders@yahoogroups.com, "ecpmaz" <ecpmaz@> wrote: > > > > Thank you for your answer, but it leads to the same behavior.. > > > > In my implementation, the Singleton is created the first time > > TestClass' constructor is called (subsequent calls replaces instance > > by a new one) > > > > {Maz} > > > > > > > > I don't see how your Singleton ever gets initialized. > > > > > > Did you try this: > > > > > > ======= > > > > > > public static function get instance():TestClass { > > > if(_instance == null){ > > > _instance = new TestClass(); > > > } > > > return _instance; > > > } > > > > > > ======== > > > > > > Jim > > > > > > ________________________________________ > > > From: flexcoders@yahoogroups.com > [mailto:[EMAIL PROTECTED] On > > > Behalf Of ecpmaz > > > Sent: Monday, May 07, 2007 7:31 AM > > > To: flexcoders@yahoogroups.com > > > Subject: [flexcoders] Binding on a singleton > > > > > > Hi, > > > > > > I have a class implemented as a Singleton that get's initialized > at > > > any time (unknown...) > > > > > > ------------- > > > public class TestClass extends EventDispatcher { > > > > > > private static var _instance:TestClass; > > > private static var currentIndex:int = 0; > > > [Bindable] public var value:int; > > > > > > public function TestClass() { > > > super(); > > > _instance = this; > > > _instance.value = currentIndex++; > > > dispatchEvent(new Event("instanceChanged")); > > > } > > > > > > [Bindable(event="instanceChanged")] > > > public static function get instance():TestClass { > > > return _instance; > > > } > > > > > > public override function toString):String { > > > return "TestClass" + value; > > > } > > > } > > > -------------- > > > > > > I want any class to be able to monitor TestClass' instance > change... > > > How would I do that. I tried many things, all without results.. > > > I would like to use it like that for instance : > > > > > > -------------- > > > <mx:Label text="{TestClass.instance.toString()}" /> > > > <mx:Button click="new TestClass()" /> <!-- hoping to chg Label's > > text --> > > > -------------- > > > > > > How would you do that ? > > > > > > {Maz} > > > > > >