unfortunately, there's no better way to do that. this is an excerpt from a book i wrote:
Compile-time errors prevent all code, no matter where it is located, from executing. You will see your main timeline play (along with any MovieClips) from start to finish and then loop. It usually looks like a headache-inducing mess. If you are prone to seizures, click the close button on your test movie panel as soon as possible.
You do not need to read the error message(s) before closing the test movie panel. The error message(s) will remain in the Compiler Error panel where you can read at your leisure long before you suffer a migraine or grand mal seizure
1.In Preferences you can check "open test-movie in tabs".
2. Having done that you could write a jsfl-script which switches the focus (immeadiately after you test the movie) to another tab in the same register card, thus, forcing the possible "corrupt" testmovie in the background. If are no compiler errors , the testmovie can be made available by simply switching to the test-movie tab, if there are compiler errors, you can close it without having to look at it.
Another option would be to setup FlashDevelop as compiler trigger of Flash.
You have to change these basic properties in your project:
FlashDevelop will only launch the test movie if it compiles flawless, inside Flash.
FlashDevelop will act as a "bouncer" to Flash.
Another solution is to use Flash Builder (IMO you should already be teaching this workflow, as it is the one most suited to nontrivial projects), and then you have several options:
- After an AS code change, Build Automatically
- If you haven't changed the code, Project>Clean
- If you've set up your project in such a way that you get the Flash Project Buttons, you can click the first one (compile in Flash)
All of these options will simply build the Flash movie without playing it, and you can see the warnings/errors in the appropriate panel before clicking the Play or Debug button.
If all of this is just too much for a beginner student, you can always Publish the movie, which creates the swf without playing it, look at the Warnings/errors panel, and then launch the swf some other way (such as double-clicking it or the generated HTML page).
Thanks everyone for your replies. As we've got halfway through the course before becoming aware of this issue and the students are relative novices switching to alternative IDE is probably going to cause further problems.
Amy's solution of using Publish to test for errors first is exactly the sort of simple change that I was hoping someone would identify - I'll pass this on to the student.