I have a post on the forum here regarding problems with using
different versions of the SDK and including the maps swc.  It isn't
really a problem with the maps exclusively, it's more of a general
problem with mixing SDKs.  Since sometimes between versions of the SDK
the implementation of classes changes and due to how Flex is going to
determine which classes to use during compilation messed confusing up
problems ensue (can be fixed by some hacks but who knows how long
those will hold up until you hit another problem).

What I think you need to know to understand the problem.
When you build a project that depends on some swcs for compilation the
compiler (really I guess it's the linker) needs to determine where it
can resolve classes that are referenced in your project but don't
exist in your project (ie stuff that should load from somewhere in the
library path, or swcs you depend on).  So when it gets to this step of
finding the byte code to use and it can't find source in your current
project to compile into byte-code it starts looking through the
included swcs.  The ordering of the swcs in the source-path or however
you define them doesn't seem to make any difference (perhaps in the
order they're traversed but not in terms of where a class is taken
from), instead it depends on an attribute in the catalog.xml that's in
each swc file, the attribute is called mod and its value appears to be
a Unix time time-stamp of when that class was compiled and included in
this swc.  Also important to note, classes that are not referenced by
a project will not be included in the output swc just because they are
present in the dependencies, so you might get only a couple of classes
from one SDK into your project because it's only using those classes
in the library you depend on, then you might be getting other classes
from a different SDK you're building against because your referencing
different classes.

Okay so ignoring some of the detail look at it from a high level.  Say
I have a library my project depends on and it was compiled with 2.0.1
SDK at a later date than the 3.4 SDK swc that I downloaded from Adobe
this means classes that the classes referenced by the library project
from the 2.0.1 framework have been marked with a mod time later than
those in the 3.4 SDK, now say my project references classes that
weren't in the library compiled against 2.0.1 this means some classes
will resolve from the 2.0.1 and some will resolve from 3.4 this is bad
news.

The case I see come up a lot is this one
>From the 3.4 SDKs HaloFocusRect in updateDisplayList
                if (focusBlendMode)
                    blendMode = focusBlendMode;
In 3.2 SDK (same in 2.0.1) HaloFocusRect in updateDisplayList
                blendMode = focusBlendMode;

So as you can see the 3.4 version does a check that the 3.2 version
does not (or rather the check was somewhere else in the class
relationship).  What I'm guessing happens is some class that depends
on HaloFocusRect that is pulled in from the 3.4 SDK ends up using the
HaloFocusRect class from the 3.2 SDK and things start breaking.  I
haven't been able to put together a simple case to prove this yet, as
it's not a simple problem.  But essentially what I think it comes down
to is that you're only really safe if all your dependencies are
compiled against the same version of the SDK (there's numerous hacks
to make it work but to have it truly stable I think this is the only
option).  Unfortunately for anything to happen I need absolute proof
that what I'm saying is true and then I need enough backing that
Google puts some people on the job.  If anyone else can recreate this
problem in a project you can post source for please let me know.

So from what I've seen compiling against 3.2 seems to work but its
still not "safe" it just works because 2.0.1 and 3.2 are "similar
enough".

Thanks,
Shaun

On Mar 21, 3:45 am, alf <[email protected]> wrote:
> Hi,
>
>  I would need to confirm whick Flex SDK versions are required to use
> Google Map API for Flash. Could I load an application with Google
> libraries into an application compiled with Flex SDK 2.1?
>
>  Thanks

-- 
You received this message because you are subscribed to the Google Groups 
"Google Maps API For Flash" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-maps-api-for-flash?hl=en.

Reply via email to