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" <bigosma...@gmail.com> wrote:

>On Fri, Sep 20, 2013 at 5:23 PM, Alex Harui <aha...@adobe.com> 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" <bigosma...@gmail.com> 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 <p...@adobe.com> 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" <aha...@adobe.com> 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" <p...@adobe.com> 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" <aha...@adobe.com> 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" <p...@adobe.com> 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" <p...@adobe.com> wrote:
>> >> >>>>
>> >> >>>>>I am looking into this.
>> >> >>>>>--peter
>> >> >>>>>
>> >> >>>>>On 9/19/13 1:03 AM, "Alex Harui" <aha...@adobe.com> 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"
>><bigosma...@gmail.com>
>> >> >>>>>>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