I think the root movie clip does extend UIObject, as createClassObject
works for me.  And the objects I'm creating aren't custom ones, but
things like mx.controls.ComboBox, so I don't have to worry about
symbol* variables.

I may have to look into UIObject a bit more.  I've been making some of
my own controls, but doing it using Composition, with the class that
handles the control creating (or being passed) an movie clip to use.
Maybe extending UIObject would make more sense.

  -Andy

On 3/24/07, Yehia Shouman <[EMAIL PROTECTED]> wrote:
createClassObject is defined in UIObject core object. I don't think it can
be called as a method of any movieclip. It also requires that you define

    static var symbolName : String = "linkageID";
    static var symbolOwner : Object = com.myclass;


and at the end of the day It calls createObject which basically uses
attachMovie passing on the symbolName. Use it if your host mc is a UIObject
(inheriting from mx.core.UIComponent or mx.core.UIObject).

I use
var myInstance:ClassType=ClassType(mc.attachMovie(ClassType.symbolName
,"instanceName",depth))

Sometimes, if there is any pending code in the draw method of the created
class instance, I wait for a frame using doLater.

I hope this helps
Yehia Shouman

On 3/23/07, Andy Herrman <[EMAIL PROTECTED]> wrote:
>
> Just to amend my previous comment, in the case where I said
> `createClassObject()` failed but `attachMovie()` didn't, that ended up
> to be not quite true.  `createClassObject()` didn't do anything, but
> `attachMovie()` created the visual portions of the clip, but it looks
> like none of the component's code was actually loaded, so while it
> appeared to be working it really wasn't.
>
> But in the cases where one works the other seems to work as well, so
> I'm still wondering what the difference is.
>
>    -Andy
>
> On 3/20/07, Andy Herrman <[EMAIL PROTECTED]> wrote:
> > I'm wondering if there are any significant differences between using
> > `attachMovie()` and `createClassObject()` for creating components (I'm
> > targeting for Flash 7).  I just ran into a weird issue creating a
> > ComboBox where I was using `createClassObject()` to instantiate it,
> > but saw that elsewhere in the code it was using `attachMovie()` to
> > create one, and both were working.
> >
> > Specifically, both this:
> > mc.attachMovie("ComboBox", "myComboBox", mc.getNextHighestDepth());
> > and this:
> > mc.createClassObject(ComboBox, "myComboBox", mc.getNextHighestDepth());
> >
> > seems to give the same results in most cases.  Is there any benefit to
> > using `createClassObject()` over `attachMovie()` for components?
> >
> > The one situation I ran into where it gives different results is when
> > using multiple SWFs from different places.  I have a main movie which
> > loads another movie that contains all the UI resources (makes branding
> > easier).  The UI resources movie contains the ComboBox in its library.
> >  If both the movies are on the local filesystem then it works fine,
> > but if the resources SWF is on a remote web server the
> > `createClassObject()` call fails.  However, if I change it to use
> > `attachMovie()` it works fine.  So I'm leaning towards using
> > `attachMovie()`, just to make my life easier for testing (don't have
> > to upload the main movie every time I want to test it), but I'm
> > wondering if that will cause issues later.
> >
> >    -Andy
> >
> _______________________________________________
> 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

Reply via email to