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 >> >> >>>>>> >> >> >>>>> >> >> >>>> >> >> >>> >> >> >> >> >> > >> >> >> >> >> >>
