To be as brief as possible with this...
I have 2 swc libraries in my Flash Builder Project. One is in a "Common" project and the other one is in a MobilePlayer project. Obviously the "common" project contains UI assets that apply across the board, while the MobilePlayer version contains assets specific to that version of the application.
Both swc files are in the respective libraries for each project we are referencing. Up until yesterday I could add new MovieClips to the "common.swc" and they would be available across the board instantly.
Sometime yesterday I could not get new MCs added to my "common.swc" to show up in the intellisense, or become avaialble whatsoever.
For troubleshooting I am creating a Square, turning it into a MC symbol, exported for AS with a classname of "Fubar"
whenever I try and create a new instance of :Fubar() to anything anywhere in my applicatioin I get the Call to possibly undefined method Fubar error message. It does not show up in intellisense menus and it is NON EXISTENT.
HOWEVER — Named movieclips within my .swc library I have already been using such as "CompanyLogo()" etc etc are STILL fully available and can be referenced from anywhere in my application. I can add a new CompanyLogo() anywhere I want with no problem.
As ANOTHER test, I REMOVED the movieclips CompanyLogo (and others) from my Library and re-saved the SWC.
All of a sudden Flash Buider generates a compiler error (undefined method) for each missing referenced MC in the swc file (obviously, because they are no longer there).
However, those named MCs still show up in intellisense menus etc etc.
Basically what I can determine is that Flash Builder is not updating and picking up any changes to this SWC library whenever anything is added or removed from it. At some point it became "locked" in memory (for lack of a better term) and it refuses to recognize that the file has been changed.
When I extract the catalog.xml from the SWC and read through it, I can find nodes for every single NEW mc I've created yet I cannot get them to show up in Flash Builder. I refresh, close and restart Flash Builder and have done everything I can possibly think of to get my updates to register and they refuse.
On the other hand my "mobile.swc" updates just fine as I make changes to it. If I add a new MC to it, it is instantly available. If I take away a MC it FB instantly recognizes that it is gone.
Am I doing something wrong here or am I correct in my assumption that for some reason FB refuses to update the contents of my "common.swc" library into memory?
Any insight would be appreciated as I cannot find a single relevant answer in 3 hours of Google searching.
Now I see what is really going on. I am trying to reference MCs from my "common.swc" lib which is in a different project, and the reason they are showing up and available is because I used them in MXML files within the "common" project that are called upon and loaded before the mobile specific login screen MXML is loaded.
I just did a quick test to see if the new button I created would be available within the "common" project and it is there, and shows up with intellisense etc etc as expected.
When I add an instance of my new button to a MXML file being loaded before the mobile specific stuff I can then drop it into my mobile specific screens and it shows up.
I either need to figure out how to reference MCs within a swc inside of a different project directly, or just declare them when the application first loads.
All I did was put a reference to the "/Common/libs" path in the Flex Build Path / Library Path tab and now it seems to be working correctly. I hope this is the correct way of doing it.
I have never really used Flex but know AS and the Flash IDE very well, and got tossed into a large Flex application with 600,000 + lines of code and tons of packages etc trying to re-do the User Interface and every single UI element has been a complete struggle to create even though I built mock-ups of the entire application's UI elements in the Flash IDE in a day.
Hope this thread helps someone else who is having this trouble, and going through the same stumbling blocks I have been for the last few weeks.
If anyone else has $.02 to weigh in on this subject please do.
Europe, Middle East and Africa