Re: [Flashcoders] ClassFactory and Reflection in Actionscript

2006-08-21 Thread Miguel Serrano

The problem is not passing the arguments, but how many arguments pass.

I can't use a text file, there I could only store basic types, but not
complex properties nor objects. I think about a dirty solution:

public class ClassFactory{

   public static function createInstance(className:String, args:Array):Object
switch(args.length){
case 0:
var clazz:Class = getDefinitionByName(className) as Class;
return new clazz()
break;
case 1:
var clazz:Class = getDefinitionByName(className) as Class;
return new clazz(args[0])
break;
case 2:
var clazz:Class = getDefinitionByName(className) as Class;
return new clazz(args[0],args[1])
break;
 
case N:
var clazz:Class = getDefinitionByName(className) as Class;
return new clazz(args[0],args[1],..., args[N])
break;
default 0:
throw new Error(Too many args. Max is N)
break;
   }

   }
}





Could you send the parameters/arguments into a text file and retrieve them
from there using loadVars?
John


- Original Message -
From: Miguel Serrano [EMAIL PROTECTED]
To: flashcoders@chattyfig.figleaf.com
Sent: Sunday, August 20, 2006 6:45 PM
Subject: Re: [Flashcoders] ClassFactory and Reflection in Actionscript



Oh, it's very sad. I developed a script language that can be loaded
and run at runtime in a flash movie.

At this moment I can create instances with no arguments, it's very
impressive, but if I can not pass arguments  I can't continue the
project.



  I'm coding an introspection framework for as3, but i have a problem by
  creating instance at runtime without using new operator.

  I have no problem to create instances of classes with no operators at
  its construction function. The code is this one:

  public class ClassFactory{

 public static function createInstance(className:String):Object
   var clazz:Class = getDefinitionByName(className) as

Class;

   return new clazz()
 }
  }

  I need a factory to create instance with an array of arguments, of

this kind:


  public static function createInstance(name:String, args:Array):Object

  any idea??

 Unfortunately this can't be done in AS3. I asked this before and the
 workaround suggested by an Adobe engineer was to use a well known
 initialization method in your classes and call them after invoking
 the constructor. But this is obviously not feasible if you need to
 work with existing classes and/or want to create a generic framework
 with such capabilities. This is one of the areas where you have more
 limitations in AS3 than you used to have in AS2. I really hope AS4
 will introduce something like: Class.newInstance(args:Array)


 Jens
 www.oregano-server.org


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] ClassFactory and Reflection in Actionscript

2006-08-21 Thread Meinte van't Kruis

in the last case an eval might take some work out of your hands.

-Meinte

On 8/21/06, Miguel Serrano [EMAIL PROTECTED] wrote:


The problem is not passing the arguments, but how many arguments pass.

I can't use a text file, there I could only store basic types, but not
complex properties nor objects. I think about a dirty solution:

public class ClassFactory{

public static function createInstance(className:String,
args:Array):Object
 switch(args.length){
 case 0:
 var clazz:Class = getDefinitionByName(className) as
Class;
 return new clazz()
 break;
 case 1:
 var clazz:Class = getDefinitionByName(className) as
Class;
 return new clazz(args[0])
 break;
 case 2:
 var clazz:Class = getDefinitionByName(className) as
Class;
 return new clazz(args[0],args[1])
 break;
  
 case N:
 var clazz:Class = getDefinitionByName(className) as
Class;
 return new clazz(args[0],args[1],..., args[N])
 break;
 default 0:
 throw new Error(Too many args. Max is N)
 break;
}

}
}




 Could you send the parameters/arguments into a text file and retrieve
them
 from there using loadVars?
 John

- Original Message -
From: Miguel Serrano [EMAIL PROTECTED]
To: flashcoders@chattyfig.figleaf.com
Sent: Sunday, August 20, 2006 6:45 PM
Subject: Re: [Flashcoders] ClassFactory and Reflection in Actionscript


 Oh, it's very sad. I developed a script language that can be loaded
 and run at runtime in a flash movie.

 At this moment I can create instances with no arguments, it's very
 impressive, but if I can not pass arguments  I can't continue the
 project.


 
   I'm coding an introspection framework for as3, but i have a problem
by
   creating instance at runtime without using new operator.
 
   I have no problem to create instances of classes with no operators
at
   its construction function. The code is this one:
 
   public class ClassFactory{
 
  public static function createInstance(className:String):Object
var clazz:Class = getDefinitionByName(className) as
Class;
return new clazz()
  }
   }
 
   I need a factory to create instance with an array of arguments, of
this kind:
 
   public static function createInstance(name:String,
args:Array):Object
 
   any idea??
 
  Unfortunately this can't be done in AS3. I asked this before and the
  workaround suggested by an Adobe engineer was to use a well known
  initialization method in your classes and call them after invoking
  the constructor. But this is obviously not feasible if you need to
  work with existing classes and/or want to create a generic framework
  with such capabilities. This is one of the areas where you have more
  limitations in AS3 than you used to have in AS2. I really hope AS4
  will introduce something like: Class.newInstance(args:Array)
 
 
  Jens
  www.oregano-server.org
 
 
 ___
 Flashcoders@chattyfig.figleaf.com
 To change your subscription options or search the archive:
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 Brought to you by Fig Leaf Software
 Premier Authorized Adobe Consulting and Training
 http://www.figleaf.com
 http://training.figleaf.com

___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] ClassFactory and Reflection in Actionscript 3.0

2006-08-20 Thread Jens Halm
 I'm coding an introspection framework for as3, but i have a problem by
 creating instance at runtime without using new operator.

 I have no problem to create instances of classes with no operators at
 its construction function. The code is this one:

 public class ClassFactory{

public static function createInstance(className:String):Object
  var clazz:Class = getDefinitionByName(className) as Class;
  return new clazz()
}
 }

 I need a factory to create instance with an array of arguments, of this kind:

 public static function createInstance(name:String, args:Array):Object

 any idea??

Unfortunately this can't be done in AS3. I asked this before and the
workaround suggested by an Adobe engineer was to use a well known
initialization method in your classes and call them after invoking
the constructor. But this is obviously not feasible if you need to
work with existing classes and/or want to create a generic framework
with such capabilities. This is one of the areas where you have more
limitations in AS3 than you used to have in AS2. I really hope AS4
will introduce something like: Class.newInstance(args:Array)


Jens
www.oregano-server.org


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] ClassFactory and Reflection in Actionscript

2006-08-20 Thread Miguel Serrano

Oh, it's very sad. I developed a script language that can be loaded
and run at runtime in a flash movie.

At this moment I can create instances with no arguments, it's very
impressive, but if I can not pass arguments  I can't continue the
project.




 I'm coding an introspection framework for as3, but i have a problem by
 creating instance at runtime without using new operator.

 I have no problem to create instances of classes with no operators at
 its construction function. The code is this one:

 public class ClassFactory{

public static function createInstance(className:String):Object
  var clazz:Class = getDefinitionByName(className) as Class;
  return new clazz()
}
 }

 I need a factory to create instance with an array of arguments, of this kind:

 public static function createInstance(name:String, args:Array):Object

 any idea??

Unfortunately this can't be done in AS3. I asked this before and the
workaround suggested by an Adobe engineer was to use a well known
initialization method in your classes and call them after invoking
the constructor. But this is obviously not feasible if you need to
work with existing classes and/or want to create a generic framework
with such capabilities. This is one of the areas where you have more
limitations in AS3 than you used to have in AS2. I really hope AS4
will introduce something like: Class.newInstance(args:Array)


Jens
www.oregano-server.org



___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] ClassFactory and Reflection in Actionscript

2006-08-20 Thread John McCormack
Could you send the parameters/arguments into a text file and retrieve them
from there using loadVars?
John

- Original Message - 
From: Miguel Serrano [EMAIL PROTECTED]
To: flashcoders@chattyfig.figleaf.com
Sent: Sunday, August 20, 2006 6:45 PM
Subject: Re: [Flashcoders] ClassFactory and Reflection in Actionscript


 Oh, it's very sad. I developed a script language that can be loaded
 and run at runtime in a flash movie.

 At this moment I can create instances with no arguments, it's very
 impressive, but if I can not pass arguments  I can't continue the
 project.


 
   I'm coding an introspection framework for as3, but i have a problem by
   creating instance at runtime without using new operator.
 
   I have no problem to create instances of classes with no operators at
   its construction function. The code is this one:
 
   public class ClassFactory{
 
  public static function createInstance(className:String):Object
var clazz:Class = getDefinitionByName(className) as
Class;
return new clazz()
  }
   }
 
   I need a factory to create instance with an array of arguments, of
this kind:
 
   public static function createInstance(name:String, args:Array):Object
 
   any idea??
 
  Unfortunately this can't be done in AS3. I asked this before and the
  workaround suggested by an Adobe engineer was to use a well known
  initialization method in your classes and call them after invoking
  the constructor. But this is obviously not feasible if you need to
  work with existing classes and/or want to create a generic framework
  with such capabilities. This is one of the areas where you have more
  limitations in AS3 than you used to have in AS2. I really hope AS4
  will introduce something like: Class.newInstance(args:Array)
 
 
  Jens
  www.oregano-server.org
 
 
 ___
 Flashcoders@chattyfig.figleaf.com
 To change your subscription options or search the archive:
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 Brought to you by Fig Leaf Software
 Premier Authorized Adobe Consulting and Training
 http://www.figleaf.com
 http://training.figleaf.com



___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


[Flashcoders] ClassFactory and Reflection in Actionscript 3.0

2006-08-19 Thread Miguel Serrano

hi list!

I'm coding an introspection framework for as3, but i have a problem by
creating instance at runtime without using new operator.

I have no problem to create instances of classes with no operators at
its construction function. The code is this one:

public class ClassFactory{

  public static function createInstance(className:String):Object
var clazz:Class = getDefinitionByName(className) as Class;
return new clazz()
  }
}

I need a factory to create instance with an array of arguments, of this kind:

public static function createInstance(name:String, args:Array):Object

any idea??

thank you
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com