RE: [SPAM] [flexcoders] Re: Flexbuilder doesn't give compile error when using a undeclared variable, methods

2009-10-31 Thread Tracy Spratt
An associative array has nothing to do with Array.  It was a bad choice of
names, they should have just called it a hash table.

 

Tracy Spratt,

Lariat Services, development services available

  _  

From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On
Behalf Of benjamine_df
Sent: Friday, October 30, 2009 10:20 AM
To: flexcoders@yahoogroups.com
Subject: [SPAM] [flexcoders] Re: Flexbuilder doesn't give compile error when
using a undeclared variable, methods

 

  



Compile time we don't need to check for data, we only need to check 
for declared variable, method class etc. So I am in favour for what 
java is doing. It will help to catch the errors during compile time

I think flex allows this because of associative arrays.
var data:object = new Object();

new data.length means data['length'] 

Is there any way I can tell flex compiler that don't assume objects as 
associative array unless I specifically declare as Array.





[flexcoders] Re: Flexbuilder doesn't give compile error when using a undeclared variable, methods

2009-10-30 Thread benjamine_df


Compile time we don't need to check for data, we only need to check 
for declared variable, method class etc. So I am in favour for what 
java is doing. It will help to catch the errors during compile time

I think flex allows this because of associative arrays.
var data:object = new Object();

new data.length means data['length'] 

Is there any way I can tell flex compiler that don't assume objects as 
associative array unless I specifically declare as Array.



[flexcoders] Re: Flexbuilder doesn't give compile error when using a undeclared variable, methods

2009-10-30 Thread benjamine_df
I wanted to clarify more on my other response.

As Amy referred this does not happen to Dictionary object alone. create an 
instance of any object , then call a non existing method and you won't get 
compile time errors.

Example
var data:Array = new Array()
data.xyz() //xyz method does not exist in Array, but still no compile time 
errors.

Without compile time errors, when things don't work in run time, it wastes lot 
of my time to find the problem.

Any help from Flex gurus are appreciated.

Thanks
Ben

--- In flexcoders@yahoogroups.com, droponrcll amyblankens...@... wrote:

 
 
 --- In flexcoders@yahoogroups.com, benjamine_df benjamine_df@ wrote:
 
  Hello,
  
I am new to flex and I make lot of mistakes by calling a method or
   field in an object which does not exist. But flex builder 3 doesn't 
  seem to throw a compile error when I do this. In java it would be a 
  quick compile error. Is there any flex builder setting I can set to 
  give compile errors.
  
  Example
  var data:Dictionary = new Dictionary();
  data.length   //no compile error for this
  data[indexint]  //no compile error
 
 Create your own typed objects if you want type checking:
 
 public clas YourClass {
public var indexInt:int;
public var length:int;
 }
 
 var yourClass:YourClass = newYourClass();
 
 var foo:String = YourClass.foo; //compiler error
 
 
 I'm pretty sure Java wouldn't throw a compiler error if you add or access a 
 previously nonexistent key to a Dictionary, either, since that's pretty much 
 the point of a Dictionary in most languages, isn't it?
 
 -Amy





[flexcoders] Re: Flexbuilder doesn't give compile error when using a undeclared variable, methods

2009-10-29 Thread droponrcll


--- In flexcoders@yahoogroups.com, benjamine_df benjamine...@... wrote:

 Hello,
 
   I am new to flex and I make lot of mistakes by calling a method or
  field in an object which does not exist. But flex builder 3 doesn't 
 seem to throw a compile error when I do this. In java it would be a 
 quick compile error. Is there any flex builder setting I can set to 
 give compile errors.
 
 Example
 var data:Dictionary = new Dictionary();
 data.length   //no compile error for this
 data[indexint]  //no compile error

Create your own typed objects if you want type checking:

public clas YourClass {
   public var indexInt:int;
   public var length:int;
}

var yourClass:YourClass = newYourClass();

var foo:String = YourClass.foo; //compiler error


I'm pretty sure Java wouldn't throw a compiler error if you add or access a 
previously nonexistent key to a Dictionary, either, since that's pretty much 
the point of a Dictionary in most languages, isn't it?

-Amy