I see nothing wrong with what you're doing. You can certainly use == to
compare a var typed as some class against null, so I suspect that the
error is caused by something else. 
 
- Gordon

________________________________

From: [email protected] [mailto:[EMAIL PROTECTED] On
Behalf Of Manish Jethani
Sent: Monday, April 23, 2007 10:22 AM
To: [email protected]
Subject: Re: [flexcoders] Testing if a datatyped variable is not set yet



You didn't say what error you're getting when you compare with null (?)

On 4/23/07, [EMAIL PROTECTED] <mailto:khair%40nc.rr.com>  <[EMAIL PROTECTED]
<mailto:khair%40nc.rr.com> > wrote:
> I have a class, "Player" that with a "selectPlayer" method.
> I want "selectPlayer" to automatically deselect the last selected
Player
> that stored in
> the static variable "LAST_SELECTED".
>
> It's imperative that I keep LAST_SELECTED data type as "Player".
> I don't want give it the dynamic datatype.
>
> What's a more elegant way to test if LAST_SELECTED is defined without
> getting an Error?
>
>
>
> Normally in AS2, I would just declare it null in class variables and
> later define it when selectPlayer is called like:
>
> function selectPlayer()
> {
> if(Player.LAST_SELECTED == null){
> Player.LAST_SELECTED = this;
> }
> }
>
> But the testing of "null" causes an Error when a variable's datatype
is set.
> So I can't use this lazy AS2 tactic anymore. ;)
>
> [CODE]
>
> import mx.core.UIComponent;
> import mx.controls.Alert;
>
> class Player extends UIComponent
> {
> private static var LAST_SELECTED:Player
>
> public function Player():void
> {
> /*****
> Whenever I create a new Player defining LAST_SELECTED here fixes
> the Error
> But I purposely don't want each new created Player to be set as
> LAST_SELECTED.
> ******/
> //I don't want this so I comment it out.
> //--->Player.LAST_SELECTED=new Player();
> }
>
> private function selectPlayer():void
> {
> try
> {
> if(Player.LAST_SELECTED != this){
> //Restore the last selected Player to normal scale.
> Player.LAST_SELECTED.scaleX=100;
> Player.LAST_SELECTED.scaleY=100;
>
> //Assign this current Instance as the LAST_SELECTED Player.
> Player.LAST_SELECTED=this;
>
> //Set the scale to show the new selected instance .
> scaleX=150;
> scaleY=150;
> }
> }catch(e:Error){
> Alert.show(e.message,e.name);
> }
> }
>
> }
>
> [/CODE]
>
>
> Thanks for your time,
> --Keith H--
>
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
<http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt> 
> Search Archives:
http://www.mail-archive.com/flexcoders%40yahoogroups.com
<http://www.mail-archive.com/flexcoders%40yahoogroups.com> 
> Yahoo! Groups Links
>
>
>
>
>


 

Reply via email to