It is likely you are experiencing the dreaded "NoChange" Flex compiler
bug. It is largely silent and affected by incremental compilation.
It is usually the result of some cyclic dependency between various
source files ... and the reference is via actionscript (embedded in
mxml or in a source .as file).
If you configure Flex to leave the generated actionscript files, you
can search for a listener with "NoChange" (I think?) in the .as files.
If you are using incremental compilation, the order in which you
change files can make this go away (and come back). (So one ugly work
around is to delete and touch files in a certain order each time the
problem occurs). The command line compiler always breaks (IMHO this
is better) ... albeit silently.
The best way to fix this is to use mxmlc to compile the files and make
changes to your source until it is gone. COmment out code until the
error disappears.
This has been acknowledged by Macromedia and it has been suggested
that it will be gone in 2.0 (translation: "You are going to have to
deal with this yourself."). And because this is really a problem at
the application level, it's not easy to send support a stripped down
test case (and once you gotten to that point, you've basically have
your solution).
Good luck. This is not fun.
P.S. Joe Berkovitz gave me the following excellent advice (this
thread is in the archive):
In short, turn on the keep-generated option in flex-config.xml, look in
the <classname>-generated.as files for the string "NoChange". If you
find it in the generated code for watcher setup, this is most likely
the compiler bug. You could verify that it's the bug by touching the
affected files and doing an incremental recompile by re-requesting the
app, then comparing with the updated -generated.as files; they should
be different.
I worked around the problem by having the AS class which instantiates
the MXML component X also reference an MXML component (call it
XWrapper) which *includes* the component X by tag reference, binding
the broken properties to any value at all.
So, in your .as file (which presumably does createChild(X, ...) at some
point) you'd do this:
static var XWrapperRef = XWrapper; //
and in XWrapper.mxml, the root components would be:
<X property1="{undefined}" property2="{undefined}"/>
where X.mxml is the file in which bindings to property1, etc. are
broken.
Note that XWRapper is only referenced as a class, it is never
instantiated! That's enough to change the compiler behavior.
--- In [email protected], "superabe" <[EMAIL PROTECTED]> wrote:
> Am facing a mystery bug that I can't seem to fathom. Hoping somebody
on the
> list know's of a solution.
> The flex server is set to debug mode and the app uses the Cairngorm
> Framework and the FAST toolkit.
>
> Basically what seems to happen is every time I restart my flex
server it
> fails to recognize updates to certain components/renderers.
>
>
> For E.g.
>
> I have a number of custom components extending of the TitleWindow,
that are
> instantiated using the PopupManager.
> These have certain components being used as "renderers" within a reeater
>
> <mx:Repeater id="categoriesList" dataProvider="{planDetail.categories}"
>
repeatEnd="initOptions(ModelLocator.cart.isPlanInCart(planDetail.id))">
> <popupRenderer:OptionsRenderer id="optionsRenderer"
> categoryName="{categoriesList.currentItem.categoryName}"
> options="{categoriesList.currentItem.options}"
> optionUpdate="updatePlanPrice()">
> </popupRenderer:OptionsRenderer>
>
> The popupRenderer namespace is pointed to
> "com.company.appName.view.productDisplay.renderers.*"
>
> When I restart my flex server, the repeater works fine and show "n"
number
> of OptionsRenderers, but fails to display the values for
categoryName and
> options.
> Now if I open up the mxml file that contains the Repeater and add a
dummy
> line of code, like (Echo.debug()), save it and refresh the browser, the
> values show up and everything is fine.
> If I restart my flex server the same problem happens again.
>
> I initially thought this might be happening only for Popups or
Repeaters,
> but I have seen this also in cases where I have components that are not
> being used in popups and are not in Repeaters
>
> Anybody have any ideas / suggestions?
> Any help is appreciated as this seems to be a flex bug and am not
sure how
> to tackle this.
>
> Thanks,
>
> - superabe
------------------------ Yahoo! Groups Sponsor --------------------~-->
Get Bzzzy! (real tools to help you find a job). Welcome to the Sweet Life.
http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/nhFolB/TM
--------------------------------------------------------------------~->
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/