I hope this will be in the correct section of the forum.
I've been working with Actionscript 3 since a while now although most of the time I've just done straightforward coding using Flash Develop.
This is the first time I'm building a more or less complex project in Flash Pro.
Here's a quick outline of how the project is structured.
There is a swf file which holds a large set of components. Things like Buttons, Sliders, complex List components, etc.
All of them are written from scratch not using any existing components (reason being project requirements).
As someone with a heavy programming background I've done as little as possible in the timeline / frames, most of my code lives in classes which are attached to the components I've created in Flash Pro.
These classes handle all the functionality. These classes then usually inherit from a base class where some basic functionality lies that I need across all components.
The components outlined above are all marked for export and lateron imported into other swf files where they are used.
So far so good, all that works like a charm.
Now here's the actual problem.
Today I needed to make changes to the base class to change some fundamental behaviour across all components that inherit from said base class.
The change in itself was fairly simple.
However, every time I now try to debug or publish it will completely ignore any change I've made and use the previous version of my base class?
I can go as far as completely emptying my base class and every time I debug or publish it will do so using the base class from before. I can see at runtime that it is the previous version because of the behaviour of the inherited components.
That's what I don't get. Where does it take that version from? I tried clearing the publish cash, to no avail.
I can pace tracers, nothing. If I add code to the base class and make an error it will complain so when I try to debug or publish but once fixed, it won't use any of it. It's still behaving as if it's using a previous version.
What makes all this even weirder is that if I take that new code and place it into another class and inherit my components from this one, then the build will use that new verison with the new code. If I switch back to the old base class with exactly the same code inside it will ignore it again and once more behave as if its an older version of it.
I've been looking around the net but simply can't find what this could be caused by.
Now, sure, I could simply use a new class and inherit all my components from a different base class but that's rather unpractical.
What I would like to know is, why does Flash Pro ignore any changes to this class? Is this an issue with how I inherit my component classes from a base class? I kind of doubt it because it has been working like a charm before.
Could this be a Flash Pro issue?
This is also not the first time I've come across this problem. The previous time however, after much tinkering, it went away. Today, it didn't. I would really like to get to the bottom of this.
FYI: I'm running Flash Pro CC. I design my components in Flash Pro and do all my coding in Flash Develop.
Any help would be greatly appreciated.
Both of these I've checked multiple times to make sure I'm not making some sort of terrible basic mistake.
Unfortunately it didn't help.
What's fascinating about the problem is that the base class worked fine testing various changes and iterations throughout the day and then stopped some time later.
Even reverting it to a previous "working state" did not help.
Hmm, my classes live in a subfolder of where my fla files live. (This sub folder again is divided into further folders to organise the code)
I haven't actually setup any class paths. (default class path is set to .)
If I set the default class path to the folder where my code lives I get a ton of errors telling my that my package names don't reflect the location of my files.
edit: That was a mistake on my side. I've set the class path to where my code lives and made sure the package names still match up.
Unfortunately it still ignores my base class (which lives in a sub folder of the defined class path)
I eventually solved my problem, although I cannot say I understand it to be honest.
All components that inherit from my base class are exported for runtime sharing.
I had to unselect these and export for runtime sharing again thereafter. That was that.
i'm not sure how the runtime sharing was involved but your file setup is typical (and good practice). that setup also will cause problems if you mistakenly save a class file (with the correct package designation) in a super folder of a same named class file (with the correct package designation) in a sub folder.