Thank you for your code,
 but my problem is not the singleton implementation but how to make a
binding on a singleton (watch the changes of the _instance value...)

In fact to make a binding on a static property ??

{Maz}

> 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 [email protected], "gotjosh819i" <joshuaprodgers@> 
> 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 [email protected], "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: [email protected] 
> > [mailto:[EMAIL PROTECTED] On
> > > > Behalf Of ecpmaz
> > > > Sent: Monday, May 07, 2007 7:31 AM
> > > > To: [email protected]
> > > > 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}
> > > >
> > >
> >
>


Reply via email to