Hi Ian,

Yes a quick replace all in the classes for swfb (with careful checking
of the results) has solved the problem for now. (Although having to
update all the class paths in the library manually was a pain, I hope
this is easier in CS3).

Thanks for your reply it's interesting to know that that is the actual
behavior.

Michael



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ian
Thomas
Sent: 22 June 2007 15:04
To: flashcoders@chattyfig.figleaf.com
Subject: Re: [Flashcoders] Clashing Class Names

Michael,
  No, you have that backwards, but it's a similar problem -- the
_global.Application class _isn't_ overwritten. The flash player
operates a class cache -- it always stores (and uses) the first class
of a particular classpath/name that it encounters.

  So in your case, when swfA loads, Flash caches a class called
com.UserInterface.Application, and uses _that same class_ when swfB
loads, ignoring swfB's implementation. Every attempt on your part
beyond that point to refer to Application() will refer to swfA's
version.

  You can get around this (as a hack) by calling delete
_global.__Packages.com.UserInterface.Application; before loading swfB.
Then swfB will use its own version of Application. But then swfA will
have problems - it's not a brilliant solution in your case.

What you really need is to separate the classpaths out in the way that
you suggest. That'll certainly fix it.

Cheers,
  Ian

On 6/22/07, Michael Trim <[EMAIL PROTECTED]> wrote:
> Hi Flashcoders,
>
> Can somebody confirm my worst suspicions (think I am answering my own
> question here)
>
> swfA loads swfB
>
> Both swfs are compiled from separate classpaths but share a similar
> class structure, so
>
> swfA compiles classes like
>
> swfAProject/com/UserInterface/Application.as
> swfAProject/com/UserInterface/UIButton.as
>
> and swfB compiles
>
> swfBProject/com/UserInterface/Application.as
> swfBProject/com/UserInterface/UIButton.as
>
> I'm presuming that when swfB is loaded the _global.Application class
is
> overwritten? As when I do this the whole thing spins off into 100% CPU
> hell.
>
> To separate these out will I need to restructure them to be...?
>
> CommonProject/com/A/UserInterface/Application.as
> CommonProject/com/B/UserInterface/Application.as
>
> (intergrating the code is not an option at this point).
>
> What would people suggest as best practice here? Apologies if this is
a
> bit of a newb question on OO.
>
> Many thanks,
>
> Michael
> _______________________________________________
> 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