Hello,
if i add it to the page it might take a few days to get around to,
if you find yourself in a position to format it and stick it on there,
go ahead. i'll stop by there in a while and see.
Amy Muntz wrote:
Hi James,
Thanks for writing up your experience. Can you add it to the
Runtime_Differences wiki page? Or - just give me the go ahead and I'm
happy to do it. I think it would be great to have it there where
others would see it.
Thanks!
Amy
On Mon, Sep 14, 2009 at 12:59 AM , James Robey wrote:
Hello list,
I've been meaning to share my experiences porting a decent sized
OL project to SWF recently. Once i got around some pratfalls that
weren't listed on the wiki, i completely enjoy using SWF9 for
application development. All the speed and extra type checking i
could hope for, and i think the team has found a wonderful balance in
the transition. That said, here's the list of things that i needed to
know to successfully port to SWF9 from SWF8 that i'd like to repeat
for the list, since i didn't find it in the "runtime differences"
wiki entry on the openlaszlo.org wiki.
FIRST - if you download the debugger version of SWF9 from adobe's
site, you will be able to see all the runtime errors that i didn't
know i could even trap until after this list was made. Find it,
download it, use it! When i say "bombed silently" below, i mean that
i couldn't find it (without the debugger)
These are random road block I hit that took a lot of time; i hope it
saves someone the same:
- all old style setAttr(val) style calls are changed to
setAttribute(attr, val)
across the whole project
- all methods that are also used for delegates have a single dummy
argument, 'true' passed as as3 requires across the whole project
- found out that for loops in script tags can cause silent infinite
loops, so converted all script tags into nodes with methods across
the whole project. Script tags and SWF9 are not a good combination
- found out that expressions that resolve to *objects* (not object
attributes) in an attribute
must use the "once" constraint type, not the erroneous ${} active
constraint syntax. changed across the whole project
- (a few of the fields that used not to be clickable are all of the
sudden -- need to look into that)
- Used try catch to isolate and report the most egregious of the errors
i encountered (try and catch were not so important when the
debugger caught everything)
- Handlers will also cause the runtime to bomb silently if the
reference attribute is pointed at a nonexistant thing
- If a handler references something
that has not been inited at the time it's evaluated for the first
time, the runtime will bomb silently.
best,
.j