Hello Flash demo.
Hi there,
Trying to investigate RobotLegs (it looks very promising), but I
can’t get your Hello Flash demo to compile. I simply started
up a new ActionScript project in Flex, added your source files and
compiled the HelloFlash.as class to generate this error. I think
the null object reference is the dispatcher property of the
EventMap class. As this is the first demo I've used, it's possible
I've mucked something up and I don't really know where to begin in
terms of debugging this. The stack trace is pasted below.
Any ideas what could be wrong?
Many thanks in advance.
TypeError: Error #1009: Cannot access a property or method of
a null object reference.
at org.robotlegs.base::EventMap/mapListener()[F:\_flex\HelloRobotLegs\src\org\robotlegs\base\EventMap.as:102]
at org.robotlegs.demos.helloflash.view::ReadoutMediator/onRegister()[F:\_flex\HelloRobotLegs\src\org\robotlegs\demos\helloflash\view\ReadoutMediator.as:46]
at org.robotlegs.base::MediatorBase/preRegister()[F:\_flex\HelloRobotLegs\src\org\robotlegs\base\MediatorBase.as:66]
at org.robotlegs.base::MediatorMap/registerMediator()[F:\_flex\HelloRobotLegs\src\org\robotlegs\base\MediatorMap.as:139]
at org.robotlegs.base::MediatorMap/createMediator()[F:\_flex\HelloRobotLegs\src\org\robotlegs\base\MediatorMap.as:124]
at org.robotlegs.base::MediatorMap/onViewAdded()[F:\_flex\HelloRobotLegs\src\org\robotlegs\base\MediatorMap.as:239]
at flash.display::DisplayObjectContainer/addChild()
at org.robotlegs.demos.helloflash::HelloFlashContext/startup()[F:\_flex\HelloRobotLegs\src\org\robotlegs\demos\helloflash\HelloFlashContext.as:60]
at org.robotlegs.mvcs::Context/checkAutoStartup()[F:\_flex\HelloRobotLegs\src\org\robotlegs\mvcs\Context.as:213]
at org.robotlegs.mvcs::Context()[F:\_flex\HelloRobotLegs\src\org\robotlegs\mvcs\Context.as:77]
at org.robotlegs.demos.helloflash::HelloFlashContext()[F:\_flex\HelloRobotLegs\src\org\robotlegs\demos\helloflash\HelloFlashContext.as:41]
at HelloFlash()[F:\_flex\HelloRobotLegs\src\HelloFlash.as:36]
Comments are currently closed for this discussion. You can start a new one.
Support Staff 2 Posted by Till Schneidereit on 26 Nov, 2009 05:08 PM
Hey David,
when using the Robotlegs source code, you have to add these parameters
to your MXMLC configuration:
-keep-as3-metadata+=Inject -keep-as3-metadata+=PostConstruct
Alternatively, you could also use the Robotlegs SWC, which automates
this process for you.
hope you enjoy robotlegs,
till
3 Posted by David Cox on 26 Nov, 2009 05:15 PM
Thank you. I look forward to asking more relevant questions in the future.
Cheers.
Support Staff 4 Posted by Till Schneidereit on 26 Nov, 2009 05:19 PM
Everyone's got to start somewhere - and welcome to Robotlegs, btw. :)
And I just realized that we don't do a good job of explaining how to
work with the Robotlegs source code on the homepage.
5 Posted by David Cox on 26 Nov, 2009 05:25 PM
Thanks. I'm looking forward to spending my weekend rebuilding an old PureMVC template with RobotLegs, tbh.
I also just noticed the README file in the zip.
6 Posted by Helmut Granda on 02 Dec, 2009 05:58 PM
Hi,
I am running into the same issue, I downloaded the latest version of the sample files as well as the latest of robotlegs:
robotlegs-framework-v1.0.0.swc
SwiftSuspenders-v1.0.0.swc
robotlegs-robotlegs-demos-Bundle-7e2aa61
and the eventDispatcher is the one breaking the app, as you can see below:
All this is by using the default bundles with no customization except for adding the trace statement for the Event Dispatcher.
EVENT DISPATCHER null <--
TypeError: Error #1009: Cannot access a property or method of a null object reference.
Any ideas what could be causing this issue?
I am compiling with Flash CS4 - Flash Player 10.
7 Posted by Helmut Granda on 02 Dec, 2009 06:07 PM
Just by looking at the documentation I realized that the issue is with me using CS4 to compile the application:
http://knowledge.robotlegs.org/faqs/framework-core/is-robotlegs-com...
Just in case some one else runs into the same issue.
8 Posted by Jos Yule on 02 Dec, 2009 07:57 PM
You can use Robotlegs with CS4! But there is a trick to it. I'm in the process of writing a how-to, but here is the quick-n-dirty:
in your context class, before you call super() in the constructor, do a
injector = new SwiftSuspendersInjector(myConfigXML);
Now, you will have to create the myConfigXML - take a look at the SwiftSuspendersInjector class to see how it looks.
That should be enough to get you started...
jos
9 Posted by Helmut Granda on 03 Dec, 2009 02:31 AM
Thank you for the tip, I ended up writing a blog post with the steps I followed to make the update.
http://bit.ly/4J7tm3
Shaun Smith closed this discussion on 07 Dec, 2009 02:45 PM.