So, the Flex compiler *does* do dead stripping when linking? I didn't think
it actually did this (which I assumed was the root cause for the size of my
Flex apps vs. ActionScript apps ... usually a meg difference for bare bones
stuff). I've never seen that mentioned in the docs and just assumed there
was no dead-stripping...

For example, if I created an app that used no UI elements (or minimal UI
elements) then it should be pretty small, huh?

Troy.


On 3/13/07, Gordon Smith <[EMAIL PROTECTED]> wrote:

   A Flex Application is a SWF file that has only the ActionScript classes
that the MXML compiler thinks your application needs. For example, iyour app
just uses <mx:Application>, <mx:TextInput>, and <mx:Button>, the SWF isn't
going to have the DataGrid or CreditCardValidator class linked into it.

If all you do is call instantiateClass("MyComponent") the MXML compiler
doesn't know it needs to link in the MyComponent class. But if you
actually use MyComponent as a type somewhere, it will. For example, you
could simply create a var with that type, as in

    import MyComponent;

    private static var foo:MyComponent;

Simply importing the class is not enough; you must use it as a type
somewhere.

- Gordon

 ------------------------------
*From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On
Behalf Of *Kevin
*Sent:* Tuesday, March 13, 2007 4:34 PM
*To:* flexcoders@yahoogroups.com
*Subject:* Re: [flexcoders] Dynamic Instance of Class & Data Typing

 what do you mean 'linked into your app'?  the rest I understood.  thanks!


- Kevin


 On Mar 13, 2007, at 7:19 PM, Gordon Smith wrote:


Yes, assuming that myFavoriteClass is actually linked into your app. You
can use the getDefinitionByName() to look up a class by name, and the
'new' operator to create an instance of it. I think the code would be

import flash.utils.getDefinitionByName;

function instantiateClass(className:String):Object
{
    var myClass:Class = Class(getDefinitionByName(className));
    return new myClass();
}

- Gordon

 ------------------------------
*From:* flexcoders@yahoogroups.com [mailto:flexcoders <flexcoders>@
yahoogroups.com] *On Behalf Of *Kevin
*Sent:* Tuesday, March 13, 2007 2:44 PM
*To:* flexcoders@yahoogroups.com
*Subject:* [flexcoders] Dynamic Instance of Class & Data Typing

 Is there a way to create new instances of a class dynamically at
runtime:

var someClass = "myFavoriteClass";

function instantiateClass(someClass){
var event: [someClass] = new [someClass] ();
}

Thanks,

Kevin


Reply via email to