Dale - you are right. the more dangling class (concrete) references you have to keep in your code to keep introspection from failing - the more your approach looks like a problem rather than a solution. My first recommendation is - if you have to use dangling references let them be interfaces. This will allow you to swap out an implementation based on the foundation of an established contract without being bound to the class name (you can only have one class by a specific name. but you can have many classes that implement your interface). If you require more flexibility. your only other option is to acquire a reference to your new class but treat and cast it as an Object and not a typed class. You can perform any operation you need without a contract. however - the less you know about an externally loaded asset and the potential implementation the greater your risk of causing runtime errors.
Rick Winscot From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Dale Fraser Sent: Friday, April 18, 2008 3:38 AM To: [email protected] Subject: RE: [flexcoders] Dynamic Instance Problem Thanks, That kind of makes it non dynamic if I need to reference it elsewhere. Is there a way around this. Regards Dale Fraser http://learncf.com <http://learncf.com/> http://flexcf.com <http://flexcf.com/> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Christophe Herreman Sent: Friday, 18 April 2008 5:08 PM To: [email protected] Subject: Re: [flexcoders] Dynamic Instance Problem Hi Dale, did you reference the class somewhere in your code? It needs to be compiled into the swf in order to instantiate it dynamically. My personal preference is to do this with a static code block: { MyClass1, MyClass2 } regards, Christophe -- Christophe Herreman http://www.herrodius.com http://www.pranaframework.org 2008/4/18, Dale Fraser <[EMAIL PROTECTED]>: Anyone tell me why this doesn't work. var ClassName:String = 'views.pr.ProjectView'; var ClassReference:Class = getDefinitionByName(ClassName) as Class; var instance:UIComponent = new ClassReference(); child.addChild( instance ); ReferenceError: Error #1065: Variable ProjectView is not defined. at global/flash.utils::getDefinitionByName() at Main/addTab()[C:\ Central\Flex\src\Main.mxml:86] at Main/treeChanged()[C:\ Central\Flex\src\Main.mxml:52] at Main/__menuTree_click()[C:\ Central\Flex\src\Main.mxml:138] Regards Dale Fraser http://learncf.com <http://learncf.com/> http://flexcf.com <http://flexcf.com/> -- Christophe Herreman http://www.herrodius.com http://www.pranaframework.org
<<image001.jpg>>
<<image002.jpg>>

