[Laszlo-dev] Is there a way to make this work in both swf8 and swf9 ?

André Bargull andre.bargull at udo.edu
Mon Oct 6 09:14:24 PDT 2008


Although we don't set the "$js1"-flag when compiling for swf8.

> Swf8 is a js1
>
> On Oct 6, 2008, at 9:18 AM, Donald Anderson <dda at ddanderson.com <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev>> wrote:
>
> >/ Okay it's
> />/   http://www.openlaszlo.org/jira/browse/LPP-7127
> />/
> />/ Subject says it is JS1 problem, but it looks from the end of the  
> />/ description that
> />/ there is also a problem in SWF8?
> />/ Bottom line is both code fragments should work in all runtimes.
> />/
> />/ On Oct 6, 2008, at 5:50 AM, P T Withington wrote:
> />/
> />>/ Don, you should probably create a bug for the JS1 back-end to fix  
> />>/ this.  Right now, when a class is translated to JS1, the initial  
> />>/ values for slots are passed as arguments to the class constructor,  
> />>/ and hence evaluated in a context before the class is defined.   
> />>/ Instead the initial values should be moved into the same context  
> />>/ that top-level statements in the class body are evaluated in (which  
> />>/ is what the work-around that André describes is doing by hand).
> />>/
> />>/ On 2008-10-05, at 18:27EDT, André Bargull wrote:
> />>/
> />>>/ This pattern is used for the service classes: first declaration,  
> />>>/ then the definition. Works there for swf8 and swf9.
> />>>/
> />>>/ <script when="immediate" ><![CDATA[
> />>>/  public class LzQName {
> />>>/    static var XSD_STRING;
> />>>/    LzQName.XSD_STRING = new LzQName("string",  
> />>>/ LzNamespace.URI_DEFAULT_SCHEMA_XSD);
> />>>/    function LzQName(type:String, uri:String) {
> />>>/    }
> />>>/  }
> />>>/ ]]></script>
> />>>/
> />>>>/ >/
> />>>>/ />/
> />>>>/ />/ It should work in both runtimes to just leave out the name of  
> />>>>/ the class,
> />>>>/ />/ since static vars are 'in scope' of the class body.
> />>>>/ />/
> />>>>/ /
> />>>>/ OK that works for that case, but there's another case that's  
> />>>>/ causing an
> />>>>/ error in swf8, which is when the thing tries to instantiate an  
> />>>>/ instance of
> />>>>/ itself as a static var initializer, e.g.,
> />>>>/
> />>>>/ public class LzQName {
> />>>>/ static var XSD_STRING =
> />>>>/   new LzQName("string", LzNamespace.URI_DEFAULT_SCHEMA_XSD);
> />>>>/
> />>>>/
> />>>>/ <a title="#75">ERROR @rpc/library/qname.js#130: call to undefined  
> />>>>/ function
> />>>>/ 'LzQName'</a>
> />>>>/
> />>>/
> />>/
> />>/
> />/
> />/
> />/ --
> />/
> />/ Don Anderson
> />/ Java/C/C++, Berkeley DB, systems consultant
> />/
> />/ voice: 617-547-7881
> />/ email: dda at ddanderson.com <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev>
> />/ www: http://www.ddanderson.com
> />/
> />/
> />/
> /-------------- next part --------------
> An HTML attachment was scrubbed...
> URL: http://www.openlaszlo.org/pipermail/laszlo-dev/attachments/20081006/d5bd1572/attachment-0001.html
>   


More information about the Laszlo-dev mailing list