Maybe I'm not understanding what Peter wrote, but I think he also said
that it worked once the main app matched the project name.  IOW, if you
create a FlexProject called OmTest, then when you copy the code from
DataBindingTest.mxml, you should copy that into your OmTest.mxml.  You
should have to fix up the MyController.as and a few other places that
assume the name of the app.  Then MXMLC should compile that when you save
everything.  But then you click on OmTest.mxml in the Package Explorer and
run the external tool and it should replace the SWF in the bin-debug.  And
then when you choose Debug As, it shouldn't run MXMLC again, it should
just launch the SWF.

I wonder if there is a file date problem fooling MXMLC into running again.

-Alex

On 9/20/13 5:30 PM, "OmPrakash Muppirala" <[email protected]> wrote:

>On Fri, Sep 20, 2013 at 5:23 PM, Alex Harui <[email protected]> wrote:
>
>> In theory, if the project name matches the application.mxml name, then
>>the
>> external tool should overwrite the swf and you shouldn't need to mess
>> around with the external tools and templates.
>>
>
>The problem is what Peter explained.  The debug launch causes mxmlc to
>compile the swf just before launching.  Altering the name keeps the falcon
>compiled swf intact.
>
>Thanks,
>Om
>
>
>>
>> Is that not working for you or does the application name have a
>>different
>> name than the project?
>>
>> Thanks,
>> -Alex
>>
>> On 9/20/13 4:14 PM, "OmPrakash Muppirala" <[email protected]> wrote:
>>
>> >I fixed this for myself by doing this:
>> >
>> >In the FlexJS debug and release build external tool's arguments:
>> >Change:
>> >-output="${project_loc}\bin-debug\${project_name}.swf"
>> >to:
>> >-output="${project_loc}\bin-debug\${project_name}_flexjs.swf"
>> >
>> >Then, for each FlexJS project, we need to change index.template's
>>params
>> >settings:
>> >change:
>> >"${swf}.swf", "flashContent",
>> >to:
>> >"${swf}_flexjs.swf", "flashContent",
>> >
>> >Now, when we run FB's debug option, project_name.swf gets created by
>>mxmlc
>> >but we will be running project_name_flexjs.swf which was compiled by
>> >falcon.  This should let us debug the app as usual.
>> >
>> >Thanks,
>> >Om
>> >
>> >
>> >
>> >On Fri, Sep 20, 2013 at 10:48 AM, Peter Ent <[email protected]> wrote:
>> >
>> >> With a little direction from Alex, I'm able to run the app too.
>>Here's
>> >> what happened to me:
>> >>
>> >> I created a new Flex project and then imported the code from
>> >> DataBindingTest. I deleted the default application Flash Builder
>>created
>> >> and I then changed the project's properties and made
>> >>DataBindingTest.mxml
>> >> an Application and made it the default application.
>> >>
>> >> Cannot do that. Flash Builder still uses mxmlc to compile that.
>> >>
>> >> To fix this, I renamed DataBindingTest.mxml to my project's original
>> >> default application name, selected it and built it with the FlexJS
>> >> external tool and now it works correctly.
>> >>
>> >> --peter
>> >>
>> >> On 9/19/13 3:04 PM, "Alex Harui" <[email protected]> wrote:
>> >>
>> >> >I stepped through my working copy of DataBindingTest.
>> >> >
>> >> >The initHandler in Application.as gets called first, and sets up the
>> >> >ValueManager.  Then, the MyInitialView gets addedToParent, which
>>fires
>> >>off
>> >> >the MXMLDataIntepreter which assigns the states.
>> >> >
>> >> >Which made me look at the call stack and again, there is the dreaded
>> >> >XXX_c() which means that Falcon did not compile the SWF, MXMLC did.
>> >> >
>> >> >-Alex
>> >> >
>> >> >On 9/19/13 10:58 AM, "Peter Ent" <[email protected]> wrote:
>> >> >
>> >> >>As far as I can tell, this is what is happening:
>> >> >>
>> >> >>"states" is a property of ViewBase and the property is being set
>>very
>> >> >>quickly upon application load. The states setter function is
>>assuming
>> >> >>there is a valuesImpl loaded into the ValuesManager, but that's not
>> >>the
>> >> >>case because the Application's initHandler hasn't been called yet
>>and
>> >>it
>> >> >>is there that valuesImpl is set in the ValuesManager.
>> >> >>
>> >> >>Not sure yet how to deal with this, but I will work on it.
>> >> >>
>> >> >>--peter
>> >> >>
>> >> >>On 9/19/13 12:09 PM, "Alex Harui" <[email protected]> wrote:
>> >> >>
>> >> >>>I'll let you do the digging, but make sure the capitalization is
>> >>right,
>> >> >>>and that it is using the same ValuesImpl as DataBindingTest.
>> >> >>>
>> >> >>>On 9/19/13 9:02 AM, "Peter Ent" <[email protected]> wrote:
>> >> >>>
>> >> >>>>I'm not making any headway on this. There is a global style
>> >>declaration
>> >> >>>>which should associate a state implementation with any class:
>> >> >>>>
>> >> >>>>global
>> >> >>>>{
>> >> >>>>    iStatesImpl:
>> >> >>>>ClassReference("org.apache.flex.core.SimpleStatesImpl");
>> >> >>>>}
>> >> >>>>
>> >> >>>>
>> >> >>>>I don't know why this isn't being picked up. I'm going to try
>> >> >>>>DataBindingTest and see how that goes.
>> >> >>>>--peter
>> >> >>>>
>> >> >>>>On 9/19/13 11:12 AM, "Peter Ent" <[email protected]> wrote:
>> >> >>>>
>> >> >>>>>I am looking into this.
>> >> >>>>>--peter
>> >> >>>>>
>> >> >>>>>On 9/19/13 1:03 AM, "Alex Harui" <[email protected]> wrote:
>> >> >>>>>
>> >> >>>>>>I haven't tried StatesTest in a while.  Can you work with
>> >> >>>>>>DataBindingTest
>> >> >>>>>>instead?  It should have everything StatesTest has and more.
>> >> >>>>>>
>> >> >>>>>>-Alex
>> >> >>>>>>
>> >> >>>>>>On 9/18/13 9:58 PM, "OmPrakash Muppirala"
>><[email protected]>
>> >> >>>>>>wrote:
>> >> >>>>>>
>> >> >>>>>>>I picked this project up [1] after a while and when I run the
>> >>app, I
>> >> >>>>>>>am
>> >> >>>>>>>getting this RTE:
>> >> >>>>>>>
>> >> >>>>>>>TypeError: Error #1009: Cannot access a property or method of
>>a
>> >>null
>> >> >>>>>>>object
>> >> >>>>>>>reference.
>> >> >>>>>>>    at org.apache.flex.core::ViewBase/set
>> >>
>> 
>>>>>>>>>>>states()[C:\p\flex_os\workspace\flexroot\git\flex-asjs\framework
>>>>>>>>>>>s\
>> >>>>>>>>>as
>> >> >>>>>>>\
>> >> >>>>>>>s
>> >> >>>>>>>r
>> >> >>>>>>>c
>> >> >>>>>>>\
>> >> >>>>>>>o
>> >> >>>>>>>rg\apache\flex\core\ViewBase.as:83]
>> >> >>>>>>>    at
>> >>
>> 
>>>>>>>>>>>MyInitialView()[C:\p\flex_os\workspace\flexroot\git\flex-asjs\ex
>>>>>>>>>>>am
>> >>>>>>>>>pl
>> >> >>>>>>>e
>> >> >>>>>>>s
>> >> >>>>>>>\
>> >> >>>>>>>S
>> >> >>>>>>>t
>> >> >>>>>>>a
>> >> >>>>>>>tesTest\src\MyInitialView.mxml:23]
>> >> >>>>>>>    at StatesTest/_StatesTest_MyInitialView1_c()
>> >> >>>>>>>    at
>> >>
>> 
>>>>>>>>>>>StatesTest()[C:\p\flex_os\workspace\flexroot\git\flex-asjs\examp
>>>>>>>>>>>le
>> >>>>>>>>>s\
>> >> >>>>>>>S
>> >> >>>>>>>t
>> >> >>>>>>>a
>> >> >>>>>>>t
>> >> >>>>>>>e
>> >> >>>>>>>s
>> >> >>>>>>>Test\src\StatesTest.mxml:26]
>> >> >>>>>>>
>> >> >>>>>>>I resynced recently and I am guessing some recent changes
>>break
>> >>this
>> >> >>>>>>>app.
>> >> >>>>>>>When I step through the debugger, it looks like
>> >> >>>>>>>ValuesManager.valuesImpl
>> >> >>>>>>>is
>> >> >>>>>>>returning null.
>> >> >>>>>>>
>> >> >>>>>>>Alex/Peter, can one of you please take a look?
>> >> >>>>>>>
>> >> >>>>>>>Thanks,
>> >> >>>>>>>Om
>> >> >>>>>>>
>> >> >>>>>>>[1]
>> >>
>> >>>>>>>>>
>> https://fisheye6.atlassian.com/browse/flex-asjs/examples/StatesTes
>> >>>>>>>>>t
>> >> >>>>>>
>> >> >>>>>
>> >> >>>>
>> >> >>>
>> >> >>
>> >> >
>> >>
>> >>
>>
>>

Reply via email to