Re: [Flashcoders] ClassFactory and Reflection in Actionscript
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
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
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
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
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
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