<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-2766</id>
	<title>Nabble - OpenLaszlo - Dev</title>
	<updated>2009-11-27T04:07:52Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/OpenLaszlo---Dev-f2766.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/OpenLaszlo---Dev-f2766.html" />
	<subtitle type="html"></subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26541625</id>
	<title>Rethink - Write once run everywhere</title>
	<published>2009-11-27T04:07:52Z</published>
	<updated>2009-11-27T04:07:52Z</updated>
	<author>
		<name>Sebastian Wagner</name>
	</author>
	<content type="html">hi,&lt;br&gt;&lt;br&gt;I&amp;#39;ve added some ... maybe contra-revolutionary ^^ points to the wiki... so don&amp;#39;t take that too personal but I think its worth thinking about!&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://wiki.openlaszlo.org/OpenLaszlo_5_community_wishlist&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.openlaszlo.org/OpenLaszlo_5_community_wishlist&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;h2&gt; General &lt;/h2&gt;
&lt;ul&gt;&lt;li&gt; Rethink pattern of *Write once, run everywhere*, it seems not
to be feasible in the future or only with enormous effort. So its maybe
better and cleaner to have different component sets for each Runtime, instead of trying to build ONE component set that then compiles into all
runtimes (cause the code that produces those components has almost more
exceptions then it has code that is equal among all platforms). So
maybe you just make some basic definitions like: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;view in dhtml = div &lt;br&gt;&lt;/p&gt;&lt;p&gt;view in SWF8 = MovieClip&lt;/p&gt;&lt;p&gt;view in SWF9 = sprite &lt;br&gt;&lt;/p&gt;&lt;p&gt;But based on that you can than work in different folders and component
sets. Of course that means duplicate code in some areas but on the long
run you need a team with 20+ permanent core developers to keep track of
all runtimes. And a change ... even minimalistic things, in one runtime does effect automatically all
runtimes. And what happens when you add a new runtime now? SVG or
Silverlight or ... actually the complexity of even very simple things
will be that kind of horrible that its almost a Science to bring a
simple Hello World-Text component into all Runtimes. &lt;br&gt;&lt;/p&gt;&lt;p&gt;And I think for some of the CSS or Flash10 features you just find no equivalent into the other runtimes. So the things that those runtimes have in common is getting smaller and smaller ... and you fill your time in fixing those runtime-gaps instead of improving and extending the Platform with new features.&lt;br&gt;
&lt;/p&gt;&lt;br clear=&quot;all&quot;&gt;just my two cents ^^&lt;br&gt;Sebastian&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Sebastian Wagner&lt;br&gt;&lt;a href=&quot;http://www.webbase-design.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.webbase-design.de&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openmeetings.googlecode.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openmeetings.googlecode.com&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.laszlo-forum.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.laszlo-forum.de&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26541625&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seba.wagner@...&lt;/a&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Rethink---Write-once-run-everywhere-tp26541625p26541625.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26514882</id>
	<title>Re: [Laszlo-user] Looking for a faster grid</title>
	<published>2009-11-25T07:36:32Z</published>
	<updated>2009-11-25T07:36:32Z</updated>
	<author>
		<name>Sebastian Wagner</name>
	</author>
	<content type="html">hi,&lt;br&gt;&lt;br&gt;I have build such a component, you can scroll through 10 or 1000 items, it makes not difference from the rendering point of view.&lt;br&gt;If you want to I can show you an example implementation in a live application.&lt;br&gt;
&lt;br&gt;&lt;br&gt;Sebastian&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;2009/11/25 Andy Humphries &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26514882&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;andy.humphries@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;









&lt;div link=&quot;blue&quot; vlink=&quot;purple&quot; lang=&quot;EN-GB&quot;&gt;

&lt;div&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;We have a pretty large OpenLaszlo application and on the whole
I am very happy with what we have been able to achieve with it (as are our customers)
however when we construct grids with large numbers of columns e.g. 50+, the grids
are very slow at building each row.&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;We’re about to embark on building our own “lighter”
grid component to reduce the heavy work that goes on underneath however before we
did that I just wanted to check if anyone has experienced the same problem, has
any tips, or indeed has a component they can share?&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;Cheers,&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;Andy&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt; &lt;/p&gt;

&lt;/div&gt;

&lt;/div&gt;


&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Sebastian Wagner&lt;br&gt;&lt;a href=&quot;http://www.webbase-design.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.webbase-design.de&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://openmeetings.googlecode.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://openmeetings.googlecode.com&lt;/a&gt;&lt;br&gt;
&lt;a href=&quot;http://www.laszlo-forum.de&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.laszlo-forum.de&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26514882&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;seba.wagner@...&lt;/a&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-user--Looking-for-a-faster-grid-tp26514882p26514882.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26514000</id>
	<title>Re: createChildren</title>
	<published>2009-11-25T06:52:26Z</published>
	<updated>2009-11-25T06:52:26Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">On 2009-11-25, at 08:33, Rami Ojares / AMG Oy wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; I think the documentation on makeChild is more accurate.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Unfortunately makeChild is marked as private and thus is not part of the documentation.
&lt;br&gt;&lt;br&gt;I agree. &amp;nbsp;I wasn't clear: &amp;nbsp;the documentation from makeChild should be on createChildren (or at least copied there). &amp;nbsp;This should be filed as a bug.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; createChildren is really just a hook to allow a subclass to change where and when it actually makes its children.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I have done a splitpane that automatically creates a divider for each pane. Fairly normal and straightforward use case. So I think createChildren is a very powerful place for overrides and strongly suggest it is kept as part of the official api.
&lt;br&gt;&lt;br&gt;Agree.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; &amp;gt; c.name is still valid, it is used to make a child be of the class that implements a particular tag
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I don't think so.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Code: (slightly modified from previous mail):
&lt;br&gt;&amp;gt; -----
&lt;br&gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.inspect(children[i]);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Output:
&lt;br&gt;&amp;gt; -------
&lt;br&gt;&amp;gt; «Object#0» {
&lt;br&gt;&amp;gt; &amp;nbsp;attrs: {…, height: $always{canvas.height}}
&lt;br&gt;&amp;gt; &amp;nbsp;class: &amp;lt;anonymous view&amp;gt;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt; «Object#4» {
&lt;br&gt;&amp;gt; &amp;nbsp;attrs: {…}
&lt;br&gt;&amp;gt; &amp;nbsp;class: &amp;lt;view&amp;gt;
&lt;br&gt;&amp;gt; }
&lt;/div&gt;&lt;br&gt;I guess I wasn't clear. &amp;nbsp;`name` is still permitted and will be recognized and it is the easiest way for script to instantiate a particular tag. &amp;nbsp;The compiler makes an optimization:
&lt;br&gt;&lt;br&gt;{name: 'view', attrs: ...} =&amp;gt; {class: lz['view'], attrs: ...}
&lt;br&gt;&lt;br&gt;That is, when the compiler knows that `name` is a constant, and it knows the class that implements that tag, it evaluates the lookup of the tag in `lz` at compile time and inserts the class.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; c.class is an optimization, used by the compiler to:
&lt;br&gt;&amp;gt; &amp;gt; 1) Avoid having to look up the name
&lt;br&gt;&amp;gt; &amp;gt; 2) Instantiate 'instance classes'
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is there any other way for me (or the compiler) to recognize tags/classes from each other? Because if not then the word &amp;quot;optimization&amp;quot; is incorrect.
&lt;br&gt;&lt;br&gt;For any tag foo, the class that implements that tag is lz['foo'].
&lt;br&gt;&lt;br&gt;In script, if you want to know if a node is an instance of a particular tag (say you want to know if it is a &amp;lt;foo&amp;gt;) you would say:
&lt;br&gt;&lt;br&gt;&amp;nbsp; if (mynode is lz['foo']) ...
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; The tagname in this case, is just for debugging. &amp;nbsp;If you were to look &amp;gt; at the non-debug version, you would see the tagname is not emitted.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What do you mean with &amp;quot;non-debug&amp;quot; version?
&lt;br&gt;&amp;gt; It is clear to me that if there is no debug window then I will not see the debug messages :-)
&lt;br&gt;&lt;br&gt;If you could (e.g., using a browser debugger in DHTML, or using fdb in SWF10), you would see that there is no `tagname` property on classes when debugging is off. &amp;nbsp;Hence, you should not rely on that in production code.
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; That's how it is supposed to be.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So can I now rely on the tagname of my Pane tag to be either &amp;quot;Pane&amp;quot; or &amp;quot;anonymous Pane&amp;quot; ?
&lt;br&gt;&lt;br&gt;If you are trying to detect instances of &amp;lt;Pane&amp;gt; (even anonymous ones, which would be subclasses), the recommended approach would be to use the `is` operator as above. &amp;nbsp;But I see where your problem lies, you are trying to sort the child &amp;quot;specifications&amp;quot; before they have been instantiated. &amp;nbsp;To be totally accurate, that means you would have to look for `name` _or_ `class`, and that you would need to know if the tag or class is a subclass of the tag's class you are sorting on.
&lt;br&gt;&lt;br&gt;Something like:
&lt;br&gt;&lt;br&gt;function isPane(c) {
&lt;br&gt;&amp;nbsp; if (c.name) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; var childClass = lz[c.name];
&lt;br&gt;&amp;nbsp; } else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; var childClass = c.class;
&lt;br&gt;&amp;nbsp; }
&lt;br&gt;&amp;nbsp; return lz['Pane'].prototype.isPrototypeOf(childClass.prototype);
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;[That last line is pretty obscure, we should probably offer a built-in `extends` or `isSubclassOf` predicate.]
&lt;br&gt;&lt;br&gt;&amp;gt; &amp;gt; Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; So was the
&lt;br&gt;&amp;gt; - child['class'].tagname
&lt;br&gt;&amp;gt; previously in my example case &amp;quot;undefined&amp;quot; or &amp;quot;Pane&amp;quot; (It must have been &amp;quot;Pane&amp;quot; because otherwise my SplitPane would not have worked previously.)
&lt;br&gt;&lt;br&gt;I see. &amp;nbsp;Well, we had to introduce the class option because of the swf9/10 runtime, which forced us to create the anonymous classes. &amp;nbsp;Hopfully the above code will help.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26514000.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26512705</id>
	<title>Re: createChildren</title>
	<published>2009-11-25T05:33:40Z</published>
	<updated>2009-11-25T05:33:40Z</updated>
	<author>
		<name>Rami Ojares / AMG Oy</name>
	</author>
	<content type="html">&lt;br&gt;&amp;nbsp;&amp;gt; I think the documentation on makeChild is more accurate.
&lt;br&gt;&lt;br&gt;Unfortunately makeChild is marked as private and thus is not part of the 
&lt;br&gt;documentation.
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; createChildren is really just a hook to allow a subclass to change 
&lt;br&gt;where and when it actually makes its children.
&lt;br&gt;&lt;br&gt;I have done a splitpane that automatically creates a divider for each 
&lt;br&gt;pane. Fairly normal and straightforward use case. So I think 
&lt;br&gt;createChildren is a very powerful place for overrides and strongly 
&lt;br&gt;suggest it is kept as part of the official api.
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; c.name is still valid, it is used to make a child be of the class 
&lt;br&gt;that implements a particular tag
&lt;br&gt;&lt;br&gt;I don't think so.
&lt;br&gt;&lt;br&gt;Code: (slightly modified from previous mail):
&lt;br&gt;-----
&lt;br&gt;&amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.inspect(children[i]);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;lt;/canvas&amp;gt;
&lt;br&gt;&lt;br&gt;Output:
&lt;br&gt;-------
&lt;br&gt;«Object#0» {
&lt;br&gt;&amp;nbsp; &amp;nbsp;attrs: {…, height: $always{canvas.height}}
&lt;br&gt;&amp;nbsp; &amp;nbsp;class: &amp;lt;anonymous view&amp;gt;
&lt;br&gt;}
&lt;br&gt;«Object#4» {
&lt;br&gt;&amp;nbsp; &amp;nbsp;attrs: {…}
&lt;br&gt;&amp;nbsp; &amp;nbsp;class: &amp;lt;view&amp;gt;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; c.class is an optimization, used by the compiler to:
&lt;br&gt;&amp;nbsp;&amp;gt; 1) Avoid having to look up the name
&lt;br&gt;&amp;nbsp;&amp;gt; 2) Instantiate 'instance classes'
&lt;br&gt;&lt;br&gt;Is there any other way for me (or the compiler) to recognize 
&lt;br&gt;tags/classes from each other? Because if not then the word 
&lt;br&gt;&amp;quot;optimization&amp;quot; is incorrect.
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; The tagname in this case, is just for debugging. &amp;nbsp;If you were to look 
&lt;br&gt;&amp;nbsp;&amp;gt; at the non-debug version, you would see the tagname is not emitted.
&lt;br&gt;&lt;br&gt;What do you mean with &amp;quot;non-debug&amp;quot; version?
&lt;br&gt;It is clear to me that if there is no debug window then I will not see 
&lt;br&gt;the debug messages :-)
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; That's how it is supposed to be.
&lt;br&gt;&lt;br&gt;So can I now rely on the tagname of my Pane tag to be either &amp;quot;Pane&amp;quot; or 
&lt;br&gt;&amp;quot;anonymous Pane&amp;quot; ?
&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;gt; Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;.
&lt;br&gt;&lt;br&gt;So was the
&lt;br&gt;- child['class'].tagname
&lt;br&gt;previously in my example case &amp;quot;undefined&amp;quot; or &amp;quot;Pane&amp;quot; (It must have been 
&lt;br&gt;&amp;quot;Pane&amp;quot; because otherwise my SplitPane would not have worked previously.)
&lt;br&gt;&lt;br&gt;- rami
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26512705.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505742</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T16:35:23Z</published>
	<updated>2009-11-24T16:35:23Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">Hum. &amp;nbsp;Well, I would have expected interstitials to create themselves as anonymous classes. &amp;nbsp;Maybe I missed that.
&lt;br&gt;&lt;br&gt;On 2009-11-24, at 19:27, Henry Minsky wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I think this predates that change, but I'll check the 'publish' flag logic
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Tue, Nov 24, 2009 at 6:43 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505742&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; That's a bug then. &amp;nbsp;Perhaps this has the same root as the regression you
&lt;br&gt;&amp;gt;&amp;gt; just fixed?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Nothing should go in lz unless it is really defining a tag.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On 2009-11-24, at 18:23, Henry Minsky wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hmm, now that you mention it, &amp;nbsp;I notice we've been adding the
&lt;br&gt;&amp;gt;&amp;gt; interstitial
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; class names that come from compiling class mixins to the lz namespace
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; object:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; lz[&amp;quot;colored_square$view&amp;quot;] = $lzc$class_colored_square$view;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; lz[&amp;quot;black_line$colored_square$view&amp;quot;] =
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; $lzc$class_black_line$colored_square$view;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I don't think we need them in there, do we? The compiler seems to be
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; emitting
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; calls to instantiate the objects directly using the classname when it
&lt;br&gt;&amp;gt;&amp;gt; calls
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; LzInstantiateView e.g.,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;class&amp;quot;: $lzc$class_black_line$colored_square$view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On Tue, Nov 24, 2009 at 5:36 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505742&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Current documentation has this to say about node's createChildren(carr)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; argument
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; form:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.name = a string containing the name of the child -- usually its
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; constructor
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.args = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.children = an array of children for the new child&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; You are venturing into things that most people don't, since they just
&lt;br&gt;&amp;gt;&amp;gt; use
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; the XML language for their applications.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I think the documentation on makeChild is more accurate. &amp;nbsp;createChildren
&lt;br&gt;&amp;gt;&amp;gt; is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; really just a hook to allow a subclass to change where and when it
&lt;br&gt;&amp;gt;&amp;gt; actually
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; makes its children. &amp;nbsp;makeChild is the interface that actually interprets
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; children specification. &amp;nbsp;(Don't blame me for the confusing names, I did
&lt;br&gt;&amp;gt;&amp;gt; not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; make them up!)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.name is still valid, it is used to make a child be of the class that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; implements a particular tag (so you say 'view' to get a &amp;lt;view&amp;gt;, etc.
&lt;br&gt;&amp;gt;&amp;gt; You
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; can use this to make any node that has a tag).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.class is an optimization, used by the compiler to:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 1) Avoid having to look up the name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 2) Instantiate 'instance classes'
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; None of this seems to be true.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Instead the children seems to have the structure:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.class = pointer to the class to be instantiated
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; When you further inspect the class there is one useful attribute:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; tagname. That seems to have the same function as c.name in the above
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mentioned documentation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Further it seems that in the current trunk if you instantiate a class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; with a constrained attribute like this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It's tagname becomes
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;anonymous tagname&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Right. &amp;nbsp;This is a so-called &amp;quot;instance class&amp;quot;. &amp;nbsp;In order to have a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; constraint, an instance needs some supporting methods. &amp;nbsp;(You would see
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.) &amp;nbsp;In order to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; have methods, the compiler has to build a class, and then make just one
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; instance of that class. &amp;nbsp;It doesn't define a tag for that class, because
&lt;br&gt;&amp;gt;&amp;gt; it
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; will only ever be made by the compiler (or by replication, which works
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; automatically). &amp;nbsp;The tagname in this case, is just for debugging. &amp;nbsp;If
&lt;br&gt;&amp;gt;&amp;gt; you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; were to look at the non-debug version, you would see the tagname is not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; emitted. &amp;nbsp;And of course, the class is _not_ entered into `lz` (as are
&lt;br&gt;&amp;gt;&amp;gt; all
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; real class definitions, e.g., lz['view'] =&amp;gt; the class that implements
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 'anonymous' or 'instance' classes.)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Code:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.write(children[i]['class'].tagname);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Produces the output in debug window:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; anonymous view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Is this how it is supposed to be?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; That's how it is supposed to be. &amp;nbsp;:)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Or is this an accident caused by the instance specific mixin
&lt;br&gt;&amp;gt;&amp;gt; development?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Although, we did just add this feature to make it easier to debug
&lt;br&gt;&amp;gt;&amp;gt; instance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; mixin's. &amp;nbsp;Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;.
&lt;br&gt;&amp;gt;&amp;gt; But we
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; decided it would help debugging to give them a tagname that told what
&lt;br&gt;&amp;gt;&amp;gt; tag
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; they were derived from.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505742&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505742&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26505742.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505674</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T16:27:30Z</published>
	<updated>2009-11-24T16:27:30Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">I think this predates that change, but I&amp;#39;ll check the &amp;#39;publish&amp;#39; flag logic &lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 24, 2009 at 6:43 PM, P T Withington &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505674&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;That&amp;#39;s a bug then.  Perhaps this has the same root as the regression you just fixed?&lt;br&gt;

&lt;br&gt;
Nothing should go in lz unless it is really defining a tag.&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
On 2009-11-24, at 18:23, Henry Minsky wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; Hmm, now that you mention it,  I notice we&amp;#39;ve been adding the interstitial&lt;br&gt;
&amp;gt; class names that come from compiling class mixins to the lz namespace&lt;br&gt;
&amp;gt; object:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; lz[&amp;quot;colored_square$view&amp;quot;] = $lzc$class_colored_square$view;&lt;br&gt;
&amp;gt; lz[&amp;quot;black_line$colored_square$view&amp;quot;] =&lt;br&gt;
&amp;gt; $lzc$class_black_line$colored_square$view;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; I don&amp;#39;t think we need them in there, do we? The compiler seems to be&lt;br&gt;
&amp;gt; emitting&lt;br&gt;
&amp;gt; calls to instantiate the objects directly using the classname when it calls&lt;br&gt;
&amp;gt; LzInstantiateView e.g.,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;quot;class&amp;quot;: $lzc$class_black_line$colored_square$view&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; On Tue, Nov 24, 2009 at 5:36 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505674&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Hi,&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Current documentation has this to say about node&amp;#39;s createChildren(carr)&lt;br&gt;
&amp;gt;&amp;gt; argument&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the&lt;br&gt;
&amp;gt;&amp;gt; form:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; = a string containing the name of the child -- usually its&lt;br&gt;
&amp;gt;&amp;gt; constructor&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; c.args = a dictionary of attributes and values to be passed to the&lt;br&gt;
&amp;gt;&amp;gt; constructor of that child&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; c.children = an array of children for the new child&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; You are venturing into things that most people don&amp;#39;t, since they just use&lt;br&gt;
&amp;gt;&amp;gt; the XML language for their applications.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I think the documentation on makeChild is more accurate.  createChildren is&lt;br&gt;
&amp;gt;&amp;gt; really just a hook to allow a subclass to change where and when it actually&lt;br&gt;
&amp;gt;&amp;gt; makes its children.  makeChild is the interface that actually interprets the&lt;br&gt;
&amp;gt;&amp;gt; children specification.  (Don&amp;#39;t blame me for the confusing names, I did not&lt;br&gt;
&amp;gt;&amp;gt; make them up!)&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; is still valid, it is used to make a child be of the class that&lt;br&gt;
&amp;gt;&amp;gt; implements a particular tag (so you say &amp;#39;view&amp;#39; to get a &amp;lt;view&amp;gt;, etc.  You&lt;br&gt;
&amp;gt;&amp;gt; can use this to make any node that has a tag).&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; c.class is an optimization, used by the compiler to:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; 1) Avoid having to look up the name&lt;br&gt;
&amp;gt;&amp;gt; 2) Instantiate &amp;#39;instance classes&amp;#39;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; None of this seems to be true.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Instead the children seems to have the structure:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the&lt;br&gt;
&amp;gt;&amp;gt; constructor of that child&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; c.class = pointer to the class to be instantiated&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; When you further inspect the class there is one useful attribute:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; tagname. That seems to have the same function as &lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; in the above&lt;br&gt;
&amp;gt;&amp;gt; mentioned documentation.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Further it seems that in the current trunk if you instantiate a class&lt;br&gt;
&amp;gt;&amp;gt; with a constrained attribute like this&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; It&amp;#39;s tagname becomes&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;quot;anonymous tagname&amp;quot;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Right.  This is a so-called &amp;quot;instance class&amp;quot;.  In order to have a&lt;br&gt;
&amp;gt;&amp;gt; constraint, an instance needs some supporting methods.  (You would see the&lt;br&gt;
&amp;gt;&amp;gt; same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.)  In order to&lt;br&gt;
&amp;gt;&amp;gt; have methods, the compiler has to build a class, and then make just one&lt;br&gt;
&amp;gt;&amp;gt; instance of that class.  It doesn&amp;#39;t define a tag for that class, because it&lt;br&gt;
&amp;gt;&amp;gt; will only ever be made by the compiler (or by replication, which works&lt;br&gt;
&amp;gt;&amp;gt; automatically).  The tagname in this case, is just for debugging.  If you&lt;br&gt;
&amp;gt;&amp;gt; were to look at the non-debug version, you would see the tagname is not&lt;br&gt;
&amp;gt;&amp;gt; emitted.  And of course, the class is _not_ entered into `lz` (as are all&lt;br&gt;
&amp;gt;&amp;gt; real class definitions, e.g., lz[&amp;#39;view&amp;#39;] =&amp;gt; the class that implements&lt;br&gt;
&amp;gt;&amp;gt; &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for&lt;br&gt;
&amp;gt;&amp;gt; &amp;#39;anonymous&amp;#39; or &amp;#39;instance&amp;#39; classes.)&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Code:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;   &amp;lt;view &amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;       &amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;           for(var i=0; i&amp;lt;children.length; i++) {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;               Debug.write(children[i][&amp;#39;class&amp;#39;].tagname);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;           }&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;       ]]&amp;gt;&amp;lt;/method&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;       &amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;       &amp;lt;view/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;   &amp;lt;/view&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Produces the output in debug window:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; anonymous view&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; view&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Is this how it is supposed to be?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; That&amp;#39;s how it is supposed to be.  :)&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Or is this an accident caused by the instance specific mixin development?&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; Although, we did just add this feature to make it easier to debug instance&lt;br&gt;
&amp;gt;&amp;gt; mixin&amp;#39;s.  Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;.  But we&lt;br&gt;
&amp;gt;&amp;gt; decided it would help debugging to give them a tagname that told what tag&lt;br&gt;
&amp;gt;&amp;gt; they were derived from.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; --&lt;br&gt;
&amp;gt; Henry Minsky&lt;br&gt;
&amp;gt; Software Architect&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505674&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505674&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26505674.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505421</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T15:55:17Z</published>
	<updated>2009-11-24T15:55:17Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">There's a 'publish' flag in ClassModel that should be respected. &amp;nbsp;It should be false for anything that does not come from an LZX &amp;lt;class&amp;gt; or from a built-in, and that should prevent any entry from going into `lz`.
&lt;br&gt;&lt;br&gt;On 2009-11-24, at 18:43, P T Withington wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; That's a bug then. &amp;nbsp;Perhaps this has the same root as the regression you just fixed?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Nothing should go in lz unless it is really defining a tag.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 2009-11-24, at 18:23, Henry Minsky wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Hmm, now that you mention it, &amp;nbsp;I notice we've been adding the interstitial
&lt;br&gt;&amp;gt;&amp;gt; class names that come from compiling class mixins to the lz namespace
&lt;br&gt;&amp;gt;&amp;gt; object:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; lz[&amp;quot;colored_square$view&amp;quot;] = $lzc$class_colored_square$view;
&lt;br&gt;&amp;gt;&amp;gt; lz[&amp;quot;black_line$colored_square$view&amp;quot;] =
&lt;br&gt;&amp;gt;&amp;gt; $lzc$class_black_line$colored_square$view;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I don't think we need them in there, do we? The compiler seems to be
&lt;br&gt;&amp;gt;&amp;gt; emitting
&lt;br&gt;&amp;gt;&amp;gt; calls to instantiate the objects directly using the classname when it calls
&lt;br&gt;&amp;gt;&amp;gt; LzInstantiateView e.g.,
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;class&amp;quot;: $lzc$class_black_line$colored_square$view
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On Tue, Nov 24, 2009 at 5:36 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505421&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Current documentation has this to say about node's createChildren(carr)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; argument
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; form:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.name = a string containing the name of the child -- usually its
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constructor
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.args = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.children = an array of children for the new child&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; You are venturing into things that most people don't, since they just use
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the XML language for their applications.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I think the documentation on makeChild is more accurate. &amp;nbsp;createChildren is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; really just a hook to allow a subclass to change where and when it actually
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; makes its children. &amp;nbsp;makeChild is the interface that actually interprets the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; children specification. &amp;nbsp;(Don't blame me for the confusing names, I did not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; make them up!)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.name is still valid, it is used to make a child be of the class that
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; implements a particular tag (so you say 'view' to get a &amp;lt;view&amp;gt;, etc. &amp;nbsp;You
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; can use this to make any node that has a tag).
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.class is an optimization, used by the compiler to:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 1) Avoid having to look up the name
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 2) Instantiate 'instance classes'
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; None of this seems to be true.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Instead the children seems to have the structure:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; c.class = pointer to the class to be instantiated
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; When you further inspect the class there is one useful attribute:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; tagname. That seems to have the same function as c.name in the above
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mentioned documentation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Further it seems that in the current trunk if you instantiate a class
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; with a constrained attribute like this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; It's tagname becomes
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;anonymous tagname&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Right. &amp;nbsp;This is a so-called &amp;quot;instance class&amp;quot;. &amp;nbsp;In order to have a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; constraint, an instance needs some supporting methods. &amp;nbsp;(You would see the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.) &amp;nbsp;In order to
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; have methods, the compiler has to build a class, and then make just one
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; instance of that class. &amp;nbsp;It doesn't define a tag for that class, because it
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; will only ever be made by the compiler (or by replication, which works
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; automatically). &amp;nbsp;The tagname in this case, is just for debugging. &amp;nbsp;If you
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; were to look at the non-debug version, you would see the tagname is not
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; emitted. &amp;nbsp;And of course, the class is _not_ entered into `lz` (as are all
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; real class definitions, e.g., lz['view'] =&amp;gt; the class that implements
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 'anonymous' or 'instance' classes.)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Code:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.write(children[i]['class'].tagname);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Produces the output in debug window:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; anonymous view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Is this how it is supposed to be?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; That's how it is supposed to be. &amp;nbsp;:)
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Or is this an accident caused by the instance specific mixin development?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Although, we did just add this feature to make it easier to debug instance
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; mixin's. &amp;nbsp;Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;. &amp;nbsp;But we
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; decided it would help debugging to give them a tagname that told what tag
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; they were derived from.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505421&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26505421.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505317</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T15:43:33Z</published>
	<updated>2009-11-24T15:43:33Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">That's a bug then. &amp;nbsp;Perhaps this has the same root as the regression you just fixed?
&lt;br&gt;&lt;br&gt;Nothing should go in lz unless it is really defining a tag.
&lt;br&gt;&lt;br&gt;On 2009-11-24, at 18:23, Henry Minsky wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hmm, now that you mention it, &amp;nbsp;I notice we've been adding the interstitial
&lt;br&gt;&amp;gt; class names that come from compiling class mixins to the lz namespace
&lt;br&gt;&amp;gt; object:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; lz[&amp;quot;colored_square$view&amp;quot;] = $lzc$class_colored_square$view;
&lt;br&gt;&amp;gt; lz[&amp;quot;black_line$colored_square$view&amp;quot;] =
&lt;br&gt;&amp;gt; $lzc$class_black_line$colored_square$view;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I don't think we need them in there, do we? The compiler seems to be
&lt;br&gt;&amp;gt; emitting
&lt;br&gt;&amp;gt; calls to instantiate the objects directly using the classname when it calls
&lt;br&gt;&amp;gt; LzInstantiateView e.g.,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;quot;class&amp;quot;: $lzc$class_black_line$colored_square$view
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Tue, Nov 24, 2009 at 5:36 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505317&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Current documentation has this to say about node's createChildren(carr)
&lt;br&gt;&amp;gt;&amp;gt; argument
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the
&lt;br&gt;&amp;gt;&amp;gt; form:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.name = a string containing the name of the child -- usually its
&lt;br&gt;&amp;gt;&amp;gt; constructor
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.args = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.children = an array of children for the new child&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; You are venturing into things that most people don't, since they just use
&lt;br&gt;&amp;gt;&amp;gt; the XML language for their applications.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I think the documentation on makeChild is more accurate. &amp;nbsp;createChildren is
&lt;br&gt;&amp;gt;&amp;gt; really just a hook to allow a subclass to change where and when it actually
&lt;br&gt;&amp;gt;&amp;gt; makes its children. &amp;nbsp;makeChild is the interface that actually interprets the
&lt;br&gt;&amp;gt;&amp;gt; children specification. &amp;nbsp;(Don't blame me for the confusing names, I did not
&lt;br&gt;&amp;gt;&amp;gt; make them up!)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; c.name is still valid, it is used to make a child be of the class that
&lt;br&gt;&amp;gt;&amp;gt; implements a particular tag (so you say 'view' to get a &amp;lt;view&amp;gt;, etc. &amp;nbsp;You
&lt;br&gt;&amp;gt;&amp;gt; can use this to make any node that has a tag).
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; c.class is an optimization, used by the compiler to:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 1) Avoid having to look up the name
&lt;br&gt;&amp;gt;&amp;gt; 2) Instantiate 'instance classes'
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; None of this seems to be true.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Instead the children seems to have the structure:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the
&lt;br&gt;&amp;gt;&amp;gt; constructor of that child
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; c.class = pointer to the class to be instantiated
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; When you further inspect the class there is one useful attribute:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; tagname. That seems to have the same function as c.name in the above
&lt;br&gt;&amp;gt;&amp;gt; mentioned documentation.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Further it seems that in the current trunk if you instantiate a class
&lt;br&gt;&amp;gt;&amp;gt; with a constrained attribute like this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It's tagname becomes
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;quot;anonymous tagname&amp;quot;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Right. &amp;nbsp;This is a so-called &amp;quot;instance class&amp;quot;. &amp;nbsp;In order to have a
&lt;br&gt;&amp;gt;&amp;gt; constraint, an instance needs some supporting methods. &amp;nbsp;(You would see the
&lt;br&gt;&amp;gt;&amp;gt; same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.) &amp;nbsp;In order to
&lt;br&gt;&amp;gt;&amp;gt; have methods, the compiler has to build a class, and then make just one
&lt;br&gt;&amp;gt;&amp;gt; instance of that class. &amp;nbsp;It doesn't define a tag for that class, because it
&lt;br&gt;&amp;gt;&amp;gt; will only ever be made by the compiler (or by replication, which works
&lt;br&gt;&amp;gt;&amp;gt; automatically). &amp;nbsp;The tagname in this case, is just for debugging. &amp;nbsp;If you
&lt;br&gt;&amp;gt;&amp;gt; were to look at the non-debug version, you would see the tagname is not
&lt;br&gt;&amp;gt;&amp;gt; emitted. &amp;nbsp;And of course, the class is _not_ entered into `lz` (as are all
&lt;br&gt;&amp;gt;&amp;gt; real class definitions, e.g., lz['view'] =&amp;gt; the class that implements
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for
&lt;br&gt;&amp;gt;&amp;gt; 'anonymous' or 'instance' classes.)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Code:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;lt;view &amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Debug.write(children[i]['class'].tagname);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; ]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;view/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;lt;/view&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Produces the output in debug window:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; anonymous view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; view
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Is this how it is supposed to be?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; That's how it is supposed to be. &amp;nbsp;:)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Or is this an accident caused by the instance specific mixin development?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Although, we did just add this feature to make it easier to debug instance
&lt;br&gt;&amp;gt;&amp;gt; mixin's. &amp;nbsp;Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;. &amp;nbsp;But we
&lt;br&gt;&amp;gt;&amp;gt; decided it would help debugging to give them a tagname that told what tag
&lt;br&gt;&amp;gt;&amp;gt; they were derived from.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505317&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26505317.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26505116</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T15:23:10Z</published>
	<updated>2009-11-24T15:23:10Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">Hmm, now that you mention it,  I notice we&amp;#39;ve been adding the interstitial class names that come from compiling class mixins to the lz namespace object:&lt;br&gt;&lt;br&gt;lz[&amp;quot;colored_square$view&amp;quot;] = $lzc$class_colored_square$view;&lt;br&gt;
lz[&amp;quot;black_line$colored_square$view&amp;quot;] = $lzc$class_black_line$colored_square$view;&lt;br&gt;&lt;br&gt;&lt;br&gt;I don&amp;#39;t think we need them in there, do we? The compiler seems to be emitting &lt;br&gt;calls to instantiate the objects directly using the classname when it calls LzInstantiateView e.g., &lt;br&gt;
&lt;br&gt; &amp;quot;class&amp;quot;: $lzc$class_black_line$colored_square$view&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 24, 2009 at 5:36 PM, P T Withington &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505116&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;&lt;div class=&quot;im&quot;&gt;On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; Hi,&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Current documentation has this to say about node&amp;#39;s createChildren(carr) argument&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the form:&lt;br&gt;
&amp;gt; &lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; = a string containing the name of the child -- usually its constructor&lt;br&gt;
&amp;gt; c.args = a dictionary of attributes and values to be passed to the constructor of that child&lt;br&gt;
&amp;gt; c.children = an array of children for the new child&amp;quot;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;You are venturing into things that most people don&amp;#39;t, since they just use the XML language for their applications.&lt;br&gt;
&lt;br&gt;
I think the documentation on makeChild is more accurate.  createChildren is really just a hook to allow a subclass to change where and when it actually makes its children.  makeChild is the interface that actually interprets the children specification.  (Don&amp;#39;t blame me for the confusing names, I did not make them up!)&lt;br&gt;

&lt;br&gt;
&lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; is still valid, it is used to make a child be of the class that implements a particular tag (so you say &amp;#39;view&amp;#39; to get a &amp;lt;view&amp;gt;, etc.  You can use this to make any node that has a tag).&lt;br&gt;

&lt;br&gt;
c.class is an optimization, used by the compiler to:&lt;br&gt;
&lt;br&gt;
1) Avoid having to look up the name&lt;br&gt;
2) Instantiate &amp;#39;instance classes&amp;#39;&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; None of this seems to be true.&lt;br&gt;
&amp;gt; Instead the children seems to have the structure:&lt;br&gt;
&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the constructor of that child&lt;br&gt;
&amp;gt; c.class = pointer to the class to be instantiated&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; When you further inspect the class there is one useful attribute:&lt;br&gt;
&amp;gt; tagname. That seems to have the same function as &lt;a href=&quot;http://c.name&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;c.name&lt;/a&gt; in the above mentioned documentation.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Further it seems that in the current trunk if you instantiate a class with a constrained attribute like this&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; It&amp;#39;s tagname becomes&lt;br&gt;
&amp;gt; &amp;quot;anonymous tagname&amp;quot;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Right.  This is a so-called &amp;quot;instance class&amp;quot;.  In order to have a constraint, an instance needs some supporting methods.  (You would see the same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.)  In order to have methods, the compiler has to build a class, and then make just one instance of that class.  It doesn&amp;#39;t define a tag for that class, because it will only ever be made by the compiler (or by replication, which works automatically).  The tagname in this case, is just for debugging.  If you were to look at the non-debug version, you would see the tagname is not emitted.  And of course, the class is _not_ entered into `lz` (as are all real class definitions, e.g., lz[&amp;#39;view&amp;#39;] =&amp;gt; the class that implements &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for &amp;#39;anonymous&amp;#39; or &amp;#39;instance&amp;#39; classes.)&lt;br&gt;

&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; Code:&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;    &amp;lt;view &amp;gt;&lt;br&gt;
&amp;gt;        &amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[&lt;br&gt;
&amp;gt;            for(var i=0; i&amp;lt;children.length; i++) {&lt;br&gt;
&amp;gt;                Debug.write(children[i][&amp;#39;class&amp;#39;].tagname);&lt;br&gt;
&amp;gt;            }&lt;br&gt;
&amp;gt;        ]]&amp;gt;&amp;lt;/method&amp;gt;&lt;br&gt;
&amp;gt;        &amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;        &amp;lt;view/&amp;gt;&lt;br&gt;
&amp;gt;    &amp;lt;/view&amp;gt;&lt;br&gt;
&amp;gt; &amp;lt;/canvas&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Produces the output in debug window:&lt;br&gt;
&amp;gt; anonymous view&lt;br&gt;
&amp;gt; view&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Is this how it is supposed to be?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;That&amp;#39;s how it is supposed to be.  :)&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;gt; Or is this an accident caused by the instance specific mixin development?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;Although, we did just add this feature to make it easier to debug instance mixin&amp;#39;s.  Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;.  But we decided it would help debugging to give them a tagname that told what tag they were derived from.&lt;br&gt;

&lt;br&gt;
&lt;br&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26505116&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26505116.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26504508</id>
	<title>Re: createChildren</title>
	<published>2009-11-24T14:36:17Z</published>
	<updated>2009-11-24T14:36:17Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">On 2009-11-24, at 17:01, Rami Ojares / AMG Oy wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Current documentation has this to say about node's createChildren(carr) argument
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;quot;an array of children where the structure of each child [c] takes the form:
&lt;br&gt;&amp;gt; c.name = a string containing the name of the child -- usually its constructor
&lt;br&gt;&amp;gt; c.args = a dictionary of attributes and values to be passed to the constructor of that child
&lt;br&gt;&amp;gt; c.children = an array of children for the new child&amp;quot;
&lt;br&gt;&lt;br&gt;You are venturing into things that most people don't, since they just use the XML language for their applications.
&lt;br&gt;&lt;br&gt;I think the documentation on makeChild is more accurate. &amp;nbsp;createChildren is really just a hook to allow a subclass to change where and when it actually makes its children. &amp;nbsp;makeChild is the interface that actually interprets the children specification. &amp;nbsp;(Don't blame me for the confusing names, I did not make them up!)
&lt;br&gt;&lt;br&gt;c.name is still valid, it is used to make a child be of the class that implements a particular tag (so you say 'view' to get a &amp;lt;view&amp;gt;, etc. &amp;nbsp;You can use this to make any node that has a tag).
&lt;br&gt;&lt;br&gt;c.class is an optimization, used by the compiler to:
&lt;br&gt;&lt;br&gt;1) Avoid having to look up the name
&lt;br&gt;2) Instantiate 'instance classes'
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; None of this seems to be true.
&lt;br&gt;&amp;gt; Instead the children seems to have the structure:
&lt;br&gt;&amp;gt; c.attrs = a dictionary of attributes and values to be passed to the constructor of that child
&lt;br&gt;&amp;gt; c.class = pointer to the class to be instantiated
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; When you further inspect the class there is one useful attribute:
&lt;br&gt;&amp;gt; tagname. That seems to have the same function as c.name in the above mentioned documentation.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Further it seems that in the current trunk if you instantiate a class with a constrained attribute like this
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; It's tagname becomes
&lt;br&gt;&amp;gt; &amp;quot;anonymous tagname&amp;quot;
&lt;/div&gt;&lt;br&gt;Right. &amp;nbsp;This is a so-called &amp;quot;instance class&amp;quot;. &amp;nbsp;In order to have a constraint, an instance needs some supporting methods. &amp;nbsp;(You would see the same thing if you gave your instance an explicit &amp;lt;method&amp;gt;.) &amp;nbsp;In order to have methods, the compiler has to build a class, and then make just one instance of that class. &amp;nbsp;It doesn't define a tag for that class, because it will only ever be made by the compiler (or by replication, which works automatically). &amp;nbsp;The tagname in this case, is just for debugging. &amp;nbsp;If you were to look at the non-debug version, you would see the tagname is not emitted. &amp;nbsp;And of course, the class is _not_ entered into `lz` (as are all real class definitions, e.g., lz['view'] =&amp;gt; the class that implements &amp;lt;view&amp;gt;, so lz[&amp;lt;any tag name&amp;gt;].tagname == &amp;lt;any tag name&amp;gt;, but not for 'anonymous' or 'instance' classes.)
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Code:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.write(children[i]['class'].tagname);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Produces the output in debug window:
&lt;br&gt;&amp;gt; anonymous view
&lt;br&gt;&amp;gt; view
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is this how it is supposed to be?
&lt;/div&gt;&lt;br&gt;That's how it is supposed to be. &amp;nbsp;:)
&lt;br&gt;&lt;br&gt;&amp;gt; Or is this an accident caused by the instance specific mixin development?
&lt;br&gt;&lt;br&gt;Although, we did just add this feature to make it easier to debug instance mixin's. &amp;nbsp;Before, we never emitted a tagname for &amp;quot;instance classes&amp;quot;. &amp;nbsp;But we decided it would help debugging to give them a tagname that told what tag they were derived from.
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26504508.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26504045</id>
	<title>createChildren</title>
	<published>2009-11-24T14:01:33Z</published>
	<updated>2009-11-24T14:01:33Z</updated>
	<author>
		<name>Rami Ojares / AMG Oy</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Current documentation has this to say about node's createChildren(carr) 
&lt;br&gt;argument
&lt;br&gt;&lt;br&gt;&amp;quot;an array of children where the structure of each child [c] takes the form:
&lt;br&gt;c.name = a string containing the name of the child -- usually its 
&lt;br&gt;constructor
&lt;br&gt;c.args = a dictionary of attributes and values to be passed to the 
&lt;br&gt;constructor of that child
&lt;br&gt;c.children = an array of children for the new child&amp;quot;
&lt;br&gt;&lt;br&gt;None of this seems to be true.
&lt;br&gt;Instead the children seems to have the structure:
&lt;br&gt;c.attrs = a dictionary of attributes and values to be passed to the 
&lt;br&gt;constructor of that child
&lt;br&gt;c.class = pointer to the class to be instantiated
&lt;br&gt;&lt;br&gt;When you further inspect the class there is one useful attribute:
&lt;br&gt;tagname. That seems to have the same function as c.name in the above 
&lt;br&gt;mentioned documentation.
&lt;br&gt;&lt;br&gt;Further it seems that in the current trunk if you instantiate a class 
&lt;br&gt;with a constrained attribute like this
&lt;br&gt;&lt;br&gt;&amp;lt;view height=&amp;quot;${foo.height}&amp;quot;/&amp;gt;
&lt;br&gt;&lt;br&gt;It's tagname becomes
&lt;br&gt;&amp;quot;anonymous tagname&amp;quot;
&lt;br&gt;&lt;br&gt;Code:
&lt;br&gt;&lt;br&gt;&amp;lt;canvas debug=&amp;quot;true&amp;quot;&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view &amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;method name=&amp;quot;createChildren&amp;quot; args=&amp;quot;children&amp;quot;&amp;gt;&amp;lt;![CDATA[
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for(var i=0; i&amp;lt;children.length; i++) {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Debug.write(children[i]['class'].tagname);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;]]&amp;gt;&amp;lt;/method&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view height=&amp;quot;${canvas.height}&amp;quot;/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;view/&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/view&amp;gt;
&lt;br&gt;&amp;lt;/canvas&amp;gt;
&lt;br&gt;&lt;br&gt;Produces the output in debug window:
&lt;br&gt;anonymous view
&lt;br&gt;view
&lt;br&gt;&lt;br&gt;Is this how it is supposed to be?
&lt;br&gt;Or is this an accident caused by the instance specific mixin development?
&lt;br&gt;&lt;br&gt;- rami
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/createChildren-tp26504045p26504045.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26499216</id>
	<title>Re: debug eval in swf10 of function expression</title>
	<published>2009-11-24T08:29:23Z</published>
	<updated>2009-11-24T08:29:23Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">If I remove that &lt;br&gt;with (Debug.environment) {&lt;br&gt;}  &lt;br&gt;wrapper, then it compiles OK.... &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Tue, Nov 24, 2009 at 11:20 AM, Henry Minsky &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26499216&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;If you type this to the debug evaluator&lt;br&gt;&lt;br&gt;(function (x) { return x.foo })(3)&lt;br&gt;&lt;br&gt;It compiles down to this code, which is then linked to the debug LFC, and I do not understand why it complains about&lt;br&gt;
&amp;quot;Error&amp;quot; being unknown. &amp;quot;lz&amp;quot; and &amp;quot;$lzsc$runtime&amp;quot; are declared globals in the LFC, so I don&amp;#39;t see why it&lt;br&gt;
complains about them either. &lt;br&gt;&lt;br&gt;&lt;br&gt;package {&lt;br&gt;  &lt;br&gt;    import flash.display.*;&lt;br&gt;    import flash.events.*;&lt;br&gt;    import flash.utils.*;&lt;br&gt;    import flash.text.*;&lt;br&gt;    import flash.system.*;&lt;br&gt;    import flash.net.*;&lt;br&gt;

    import flash.ui.*;&lt;br&gt;    import flash.external.*;&lt;br&gt;    public class DebugEvaluate extends DebugExec {&lt;br&gt;        override public function runToplevelDefinitions () {;&lt;br&gt;            (function () {&lt;br&gt;                try {&lt;br&gt;

                    try {&lt;br&gt;                        with (Debug.environment) {&lt;br&gt;                            Debug.displayResult((function (x_$1) {&lt;br&gt;                                        try {&lt;br&gt;                                            return x_$1.foo&lt;br&gt;

                                                }&lt;br&gt;                                        catch ($lzsc$e) {&lt;br&gt;                                            if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;

                                                $lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 11, $lzsc$e)&lt;br&gt;                                                    } else {&lt;br&gt;                                                throw $lzsc$e&lt;br&gt;

                                                    }}}&lt;br&gt;                                    )(3))&lt;br&gt;                                }}&lt;br&gt;                    catch (e_$1) {&lt;br&gt;                        Debug.displayResult(e_$1)&lt;br&gt;

                            }}&lt;br&gt;                catch ($lzsc$e) {&lt;br&gt;                    if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;                        $lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 8, $lzsc$e)&lt;br&gt;

                            } else {&lt;br&gt;                        throw $lzsc$e&lt;br&gt;                            }}}&lt;br&gt;                )();&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;Which gets these flex compiler errors&lt;br&gt;

&lt;br&gt;Loading configuration file /Users/hqm/openlaszlo/trunk6/WEB-INF/frameworks/flex-config.xml&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(22): col: 16 Error: Access of undefined property Error.&lt;br&gt;

&lt;br&gt;if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;               ^&lt;br&gt;&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(22): col: 37 Error: Access of undefined property lz.&lt;br&gt;

&lt;br&gt;if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;                                    ^&lt;br&gt;&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(23): col: 1 Error: Access of undefined property $lzsc$runtime.&lt;br&gt;

&lt;br&gt;$lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 11, $lzsc$e)&lt;br&gt;^&lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26499216&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;

&lt;br&gt;&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26499216&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/debug-eval-in-swf10-of-function-expression-tp26498938p26499216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26498938</id>
	<title>debug eval in swf10 of function expression</title>
	<published>2009-11-24T08:20:34Z</published>
	<updated>2009-11-24T08:20:34Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">If you type this to the debug evaluator&lt;br&gt;&lt;br&gt;(function (x) { return x.foo })(3)&lt;br&gt;&lt;br&gt;It compiles down to this code, which is then linked to the debug LFC, and I do not understand why it complains about&lt;br&gt;&amp;quot;Error&amp;quot; being unknown. &amp;quot;lz&amp;quot; and &amp;quot;$lzsc$runtime&amp;quot; are declared globals in the LFC, so I don&amp;#39;t see why it&lt;br&gt;
complains about them either. &lt;br&gt;&lt;br&gt;&lt;br&gt;package {&lt;br&gt;  &lt;br&gt;    import flash.display.*;&lt;br&gt;    import flash.events.*;&lt;br&gt;    import flash.utils.*;&lt;br&gt;    import flash.text.*;&lt;br&gt;    import flash.system.*;&lt;br&gt;    import flash.net.*;&lt;br&gt;
    import flash.ui.*;&lt;br&gt;    import flash.external.*;&lt;br&gt;    public class DebugEvaluate extends DebugExec {&lt;br&gt;        override public function runToplevelDefinitions () {;&lt;br&gt;            (function () {&lt;br&gt;                try {&lt;br&gt;
                    try {&lt;br&gt;                        with (Debug.environment) {&lt;br&gt;                            Debug.displayResult((function (x_$1) {&lt;br&gt;                                        try {&lt;br&gt;                                            return x_$1.foo&lt;br&gt;
                                                }&lt;br&gt;                                        catch ($lzsc$e) {&lt;br&gt;                                            if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;
                                                $lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 11, $lzsc$e)&lt;br&gt;                                                    } else {&lt;br&gt;                                                throw $lzsc$e&lt;br&gt;
                                                    }}}&lt;br&gt;                                    )(3))&lt;br&gt;                                }}&lt;br&gt;                    catch (e_$1) {&lt;br&gt;                        Debug.displayResult(e_$1)&lt;br&gt;
                            }}&lt;br&gt;                catch ($lzsc$e) {&lt;br&gt;                    if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;                        $lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 8, $lzsc$e)&lt;br&gt;
                            } else {&lt;br&gt;                        throw $lzsc$e&lt;br&gt;                            }}}&lt;br&gt;                )();&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;}&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;Which gets these flex compiler errors&lt;br&gt;
&lt;br&gt;Loading configuration file /Users/hqm/openlaszlo/trunk6/WEB-INF/frameworks/flex-config.xml&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(22): col: 16 Error: Access of undefined property Error.&lt;br&gt;
&lt;br&gt;if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;               ^&lt;br&gt;&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(22): col: 37 Error: Access of undefined property lz.&lt;br&gt;
&lt;br&gt;if ($lzsc$e is Error &amp;amp;&amp;amp; $lzsc$e !== lz[&amp;quot;$lzsc$thrownError&amp;quot;]) {&lt;br&gt;                                    ^&lt;br&gt;&lt;br&gt;/Users/hqm/openlaszlo/lib/jakarta-tomcat-5.0.30/temp/lzswf9/Users/hqm/openlaszlo/trunk6/test/build/foo.lzx/DebugEvaluate.as(23): col: 1 Error: Access of undefined property $lzsc$runtime.&lt;br&gt;
&lt;br&gt;$lzsc$runtime.$reportException(&amp;quot;[CommonGenerator.parseFragment]&amp;quot;, 11, $lzsc$e)&lt;br&gt;^&lt;br&gt;&lt;br&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26498938&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/debug-eval-in-swf10-of-function-expression-tp26498938p26498938.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26488862</id>
	<title>Re: no way to actually turn off catcherrors in swf10 ?</title>
	<published>2009-11-23T16:54:11Z</published>
	<updated>2009-11-23T16:54:11Z</updated>
	<author>
		<name>Henry Minsky</name>
	</author>
	<content type="html">But that loses the info about exactly which line blew out... I think we need a &amp;#39;dont catch errors, even in debug mode&amp;#39; flag.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Nov 23, 2009 at 7:53 PM, Henry Minsky &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hmm, well, maybe at least we should have an option in the debug swf10 runtime to  print the flash stack trace out to the debugger, it&amp;#39;s sometimes needed if you&amp;#39;re trying to track down a bug in the LFC and want to see the exact line in the intermediate .as file .&lt;br&gt;



&lt;br&gt;We can get our hands on it as a string by doing &lt;br&gt; new Error(&amp;#39;I want a &lt;span&gt;stack&lt;/span&gt; &lt;span&gt;trace&lt;/span&gt; please&amp;#39;).getStackTrace())&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;

On Mon, Nov 23, 2009 at 7:39 PM, P T Withington &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;
&lt;div bgcolor=&quot;#FFFFFF&quot;&gt;&lt;div&gt;Turn off debugging. &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;catcherrors is for the non-debug case&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you really need to have debugging on and not have it catch and report, we&amp;#39;ll have to make you a new flag. &lt;div&gt;



&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;On Nov 23, 2009, at 16:24, Henry Minsky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;
&lt;div&gt;&lt;/div&gt;&lt;blockquote type=&quot;cite&quot;&gt;&lt;div&gt;Even if I set compiler.catcherrors=false, it seems like the compiler is not really ever building me an LFC / app without the&lt;br&gt;try/catches added to functions. Is there something else I need to toggle to keep it from inserting them? &lt;br&gt;





&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;



&lt;br&gt;&lt;br&gt;
&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;


&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26488862&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/no-way-to-actually-turn-off-catcherrors-in-swf10---tp26486161p26488862.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486490</id>
	<title>Re: [Laszlo-user]  Flex 4 documentation</title>
	<published>2009-11-23T13:43:29Z</published>
	<updated>2009-11-23T13:43:29Z</updated>
	<author>
		<name>Max Carlson-2</name>
	</author>
	<content type="html">It might make sense to put some/all of this info on this page:
&lt;br&gt;&lt;a href=&quot;http://wiki.openlaszlo.org/Runtime_Differences&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://wiki.openlaszlo.org/Runtime_Differences&lt;/a&gt;&lt;br&gt;&lt;br&gt;P T Withington wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Can you start a page on the wiki for this kind of info, and maybe add some bits about how to get the debug player and use fdb?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 2009-11-23, at 10:01, Henry Minsky wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Note for swf10 app developers:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; OpenLaszlo currently ships with a copy of &amp;nbsp;the Flex 4 Compiler SDK &amp;nbsp;(Adobe's
&lt;br&gt;&amp;gt;&amp;gt; code name is Gumbo), specifically the last 'stable build', which is
&lt;br&gt;&amp;gt;&amp;gt; flex_sdk_4.0.0.6898 May 14
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I am not sure which Adobe documentation web page corresponds most closely to
&lt;br&gt;&amp;gt;&amp;gt; this flex build. They are up to a Flex 4 Beta 2 release now, but I don't
&lt;br&gt;&amp;gt;&amp;gt; know how much the API differs from the milestone build we're using.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've been using this URL for documentation of the Flex SDK
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On Mon, Nov 23, 2009 at 9:43 AM, Henry Minsky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26486490&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; This compiles for me in swf10 without error in trunk
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.events.*;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Camera;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Video;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Microphone;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; -- 
&lt;br&gt;&amp;gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26486490&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Max Carlson
&lt;br&gt;OpenLaszlo.org
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Flex-4-documentation-tp26479645p26486490.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486383</id>
	<title>Re: How can we eliminate the 'conditional class definitions' from the AV components?</title>
	<published>2009-11-23T13:37:24Z</published>
	<updated>2009-11-23T13:37:24Z</updated>
	<author>
		<name>Max Carlson</name>
	</author>
	<content type="html">I think those are there so DHTML apps wouldn't autoinclude a bunch of 
&lt;br&gt;code that fails when someone accidentally includes one of those 
&lt;br&gt;components. &amp;nbsp;Instead of some mysterious runtime error, the class won't 
&lt;br&gt;be included - making for a much more straightforward debugging experience.
&lt;br&gt;&lt;br&gt;It seems like what we really want is to be able to signal a compiler 
&lt;br&gt;error when trying to include one of these components in DHTML...
&lt;br&gt;&lt;br&gt;Failing that, we could eliminate the condition in the components and ask 
&lt;br&gt;developers to put conditions in their own apps when they want 
&lt;br&gt;cross-runtime support. &amp;nbsp;We will likely need to add if ($dhtml) { warn } 
&lt;br&gt;else { ... } clauses to most methods.
&lt;br&gt;&lt;br&gt;P T Withington wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/mediastream.lzx:13:9: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/rtmpconnection.lzx:12:11: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/videoview.lzx:13:9: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Max Carlson
&lt;br&gt;OpenLaszlo.org
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-can-we-eliminate-the-%27conditional-class-definitions%27-from-the-AV-components--tp26485909p26486383.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486228</id>
	<title>Re: errors while swf10 compilation during NetConnection operations</title>
	<published>2009-11-23T13:26:17Z</published>
	<updated>2009-11-23T13:26:17Z</updated>
	<author>
		<name>Max Carlson-2</name>
	</author>
	<content type="html">One thing you might want to try is installing the Flash 10 debug player: 
&lt;br&gt;&lt;a href=&quot;http://www.adobe.com/support/flashplayer/downloads.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.adobe.com/support/flashplayer/downloads.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;The debug player makes it much easier to pinpoint these kinds of issues. 
&lt;br&gt;&amp;nbsp; Let me know if that helps!
&lt;br&gt;&lt;br&gt;cem sonmez wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi
&lt;br&gt;&amp;gt; Especially i m compiling my code on swf10 but especially at the 
&lt;br&gt;&amp;gt; netconnection operations (sharedobject, netconnection, netstream..) i m 
&lt;br&gt;&amp;gt; getting many errors.
&lt;br&gt;&amp;gt; For example at this code for swf8 everything goes fine
&lt;br&gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // These lines begin broadcasting.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this._conn = new NetConnection(); // Create connection object.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this._conn.connect(&amp;quot;rtmp://192.168.1.94/Red5SharedObject/ 
&lt;br&gt;&amp;gt; &amp;lt;&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;gt;&amp;quot;); // Connect to server.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s1 = new NetStream(this._conn); &amp;nbsp; // Open stream within connection.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //s1.attachAudio(Microphone.get()); &amp;nbsp; // Capture audio.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s1.attachVideo(Camera.get()); &amp;nbsp; &amp;nbsp; &amp;nbsp; // Capture video.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s1.publish(&amp;quot;todays_news&amp;quot;); &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Begin broadcasting.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s2 = new NetStream(this._conn);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; live._attachStream(s2); // Specify where to display video.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as 
&lt;br&gt;&amp;gt; publish() above.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.s1.onStatus = function(info) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.s1.onCuePoint = function(info) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.s1.onPlayStatus = function(info) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; };
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.s1.onMetaData = function(info) {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;/handler&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;simplelayout/&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; &amp;lt;/canvas&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; But when i try the same operations with as3 way on swf10. Althought i 
&lt;br&gt;&amp;gt; have added lines below in order to add the flash classes to the 
&lt;br&gt;&amp;gt; application for as3, e.g last problem about this issue is an error, like 
&lt;br&gt;&amp;gt; : |Error: Call to a possibly undefined method NetStream...|
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import flash.net.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; import flash.events.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/switch&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am planning to try my applications just on swf10 env. But most of the 
&lt;br&gt;&amp;gt; time, it is a bit harder than swf8 to work without problem. Do you 
&lt;br&gt;&amp;gt; suggest swf10 development on openlaszlo platform for now.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Best regards.
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Cem SONMEZ
&lt;/div&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Max Carlson
&lt;br&gt;OpenLaszlo.org
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/errors-while-swf10-compilation-during-NetConnection-operations-tp26476893p26486228.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26486161</id>
	<title>no way to actually turn off catcherrors in swf10 ?</title>
	<published>2009-11-23T13:24:45Z</published>
	<updated>2009-11-23T13:24:45Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">Even if I set compiler.catcherrors=false, it seems like the compiler is not really ever building me an LFC / app without the&lt;br&gt;try/catches added to functions. Is there something else I need to toggle to keep it from inserting them? &lt;br&gt;

&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26486161&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/no-way-to-actually-turn-off-catcherrors-in-swf10---tp26486161p26486161.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26485909</id>
	<title>How can we eliminate the 'conditional class definitions' from the AV components?</title>
	<published>2009-11-23T13:10:36Z</published>
	<updated>2009-11-23T13:10:36Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">&amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/mediastream.lzx:13:9: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/rtmpconnection.lzx:12:11: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;[exec] extensions/av/videoview.lzx:13:9: Compile may fail due to conditional class definitions in &amp;lt;switch&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/How-can-we-eliminate-the-%27conditional-class-definitions%27-from-the-AV-components--tp26485909p26485909.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26485877</id>
	<title>Fwd: errors while swf10 compilation during NetConnection operations</title>
	<published>2009-11-23T13:07:19Z</published>
	<updated>2009-11-23T13:07:19Z</updated>
	<author>
		<name>Henry Minsky</name>
	</author>
	<content type="html">forwarding to laszlo-user, and dev in case anyone else has an idea&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;---------- Forwarded message ----------&lt;br&gt;From: &lt;b class=&quot;gmail_sendername&quot;&gt;cem sonmez&lt;/b&gt; &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cemosonmez@...&lt;/a&gt;&amp;gt;&lt;/span&gt;&lt;br&gt;

Date: Mon, Nov 23, 2009 at 4:03 PM&lt;br&gt;Subject: Re: [Laszlo-dev] errors while swf10 compilation during NetConnection operations&lt;br&gt;To: Henry Minsky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;&lt;br&gt;

&lt;br&gt;&lt;br&gt;I did small changes and When i handle the netconnection status. I see&lt;br&gt;
the application has connected to the flash server successfully. But&lt;br&gt;
another error message is :&lt;br&gt;
&lt;br&gt;
ArgumentError: Error #2126: NetConnection object must be connected.&lt;br&gt;
&lt;br&gt;
And the error occurs with the &amp;quot;s1 = new NetStream(this._conn);&amp;quot; line.&lt;br&gt;
I have no idea where i m wrong at. Openlaszlo platform version and&lt;br&gt;
code are the same with yours but the behaviour is different. Isn&amp;#39;t&lt;br&gt;
this so strange. I m getting these like errors for a couple of days.&lt;br&gt;
And i donT want to be obliged to working on swf8 bec. of. these&lt;br&gt;
errors.&lt;br&gt;
&lt;br&gt;
Thanks.&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
&amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;
    &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;
    &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;
    &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;
&lt;br&gt;
    &amp;lt;switch&amp;gt;&lt;br&gt;
      &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;
        &amp;lt;passthrough&amp;gt;&lt;br&gt;
          import flash.net.*;&lt;br&gt;
          import flash.events.*;&lt;br&gt;
          import flash.media.Camera;&lt;br&gt;
          import flash.media.Video;&lt;br&gt;
          import flash.media.Microphone;&lt;br&gt;
&lt;br&gt;
        &amp;lt;/passthrough&amp;gt;&lt;br&gt;
      &amp;lt;/when&amp;gt;&lt;br&gt;
    &amp;lt;/switch&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
    &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;
&lt;/div&gt;        NetConnection.defaultObjectEncoding = flash.net.ObjectEncoding.AMF0;&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;    // These lines begin broadcasting.&lt;br&gt;
        this._conn = new NetConnection(); // Create connection object.&lt;br&gt;
&lt;/div&gt;        this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.4/Red5SharedObject/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;192.168.1.4/Red5SharedObject/&lt;/a&gt;&amp;quot;); //&lt;br&gt;
Connect to server.&lt;br&gt;
    this._conn.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;        s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;
        //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;
        s1.attachVideo(Camera.getCamera());       // Capture video.&lt;br&gt;
&lt;br&gt;
        s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;
&lt;br&gt;
        s2 = new NetStream(this._conn);&lt;br&gt;
        live._attachStream(s2); // Specify where to display video.&lt;br&gt;
        s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;
&lt;br&gt;
            this.s1.onStatus = function(info) {&lt;br&gt;
                Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;
            };&lt;br&gt;
            this.s1.onCuePoint = function(info) {&lt;br&gt;
                Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;
            };&lt;br&gt;
            this.s1.onPlayStatus = function(info) {&lt;br&gt;
                Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;
            };&lt;br&gt;
            this.s1.onMetaData = function(info) {&lt;br&gt;
                Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;
            };&lt;br&gt;
    &amp;lt;/handler&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;    &amp;lt;method name=&amp;quot;netStatusHandler&amp;quot; args=&amp;quot;event&amp;quot;&amp;gt;&lt;br&gt;
        switch (event.info.code) {&lt;br&gt;
                case &amp;quot;NetConnection.Connect.Success&amp;quot;:&lt;br&gt;
                    Debug.write(&amp;quot;The connection attempt succeeded.&amp;quot;);&lt;br&gt;
&lt;br&gt;
                    break;&lt;br&gt;
&lt;br&gt;
                case &amp;quot;NetConnection.Connect.Failed&amp;quot;:&lt;br&gt;
                    Debug.write(&amp;quot;The connection attempt failed.&amp;quot;);&lt;br&gt;
                    break;&lt;br&gt;
        }&lt;br&gt;
    &amp;lt;/method&amp;gt;&lt;br&gt;
&lt;div class=&quot;im&quot;&gt;&lt;br&gt;
    &amp;lt;simplelayout/&amp;gt;&lt;br&gt;
&lt;br&gt;
    &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;
&lt;br&gt;
&amp;lt;/canvas&amp;gt;&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;2009/11/23 cem sonmez &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cemosonmez@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&amp;gt;&lt;br&gt;
&amp;gt; I have downloaded the latest nightly build of openlaszlo from [1]. And i m using the flash debugger plugin as well. When i try the code below in swf10. The error message is :&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; Error #2044: Unhadled NetStatusEvent:. level=error, code=NetConnection.Connect.Failed ...&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; [1] - &lt;a href=&quot;http://download.openlaszlo.org/nightly/trunk/15210&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;http://download.openlaszlo.org/nightly/trunk/15210&lt;/a&gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; 2009/11/23 Henry Minsky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; This compiles for me in swf10 without error in trunk&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;switch&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;       &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;         &amp;lt;passthrough&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;           import flash.net.*;&lt;br&gt;
&amp;gt;&amp;gt;           import flash.events.*;&lt;br&gt;
&amp;gt;&amp;gt;           import flash.media.Camera;&lt;br&gt;
&amp;gt;&amp;gt;           import flash.media.Video;&lt;br&gt;
&amp;gt;&amp;gt;           import flash.media.Microphone;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;         &amp;lt;/passthrough&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;       &amp;lt;/when&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;/switch&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;         // These lines begin broadcasting.&lt;br&gt;
&amp;gt;&amp;gt;         this._conn = new NetConnection(); // Create connection object.&lt;br&gt;
&amp;gt;&amp;gt;         this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;quot;); // Connect to server.&lt;br&gt;
&amp;gt;&amp;gt;         s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;
&amp;gt;&amp;gt;         //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;
&amp;gt;&amp;gt;         s1.attachVideo(Camera.getCamera());       // Capture video.&lt;br&gt;
&amp;gt;&amp;gt;         s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;         s2 = new NetStream(this._conn);&lt;br&gt;
&amp;gt;&amp;gt;         live._attachStream(s2); // Specify where to display video.&lt;br&gt;
&amp;gt;&amp;gt;         s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;             this.s1.onStatus = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;             this.s1.onCuePoint = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;             this.s1.onPlayStatus = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;             this.s1.onMetaData = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;/handler&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;simplelayout/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;     &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; On Mon, Nov 23, 2009 at 7:05 AM, cem sonmez &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cemosonmez@...&lt;/a&gt;&amp;gt; wrote:&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Hi&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Especially i m compiling my code on swf10 but especially at the netconnection operations (sharedobject, netconnection, netstream..) i m getting many errors.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; For example at this code for swf8 everything goes fine&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         // These lines begin broadcasting.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         this._conn = new NetConnection(); // Create connection object.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;quot;); // Connect to server.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         s1.attachVideo(Camera.get());       // Capture video.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         s2 = new NetStream(this._conn);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         live._attachStream(s2); // Specify where to display video.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;         s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             this.s1.onStatus = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             this.s1.onCuePoint = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             this.s1.onPlayStatus = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             this.s1.onMetaData = function(info) {&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             };&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;/handler&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;simplelayout/&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;     &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;/canvas&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; But when i try the same operations with as3 way on swf10. Althought i have added lines below in order to add the flash classes to the application for as3, e.g last problem about this issue is an error, like : Error: Call to a possibly undefined method NetStream...&lt;br&gt;


&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;switch&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 &amp;lt;passthrough&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                     import flash.net.*;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                     import flash.events.*;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;                 &amp;lt;/passthrough&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;             &amp;lt;/when&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; &amp;lt;/switch&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; I am planning to try my applications just on swf10 env. But most of the time, it is a bit harder than swf8 to work without problem. Do you suggest swf10 development on openlaszlo platform for now.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Best regards.&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt;&amp;gt; Cem SONMEZ&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; --&lt;br&gt;
&amp;gt;&amp;gt; Henry Minsky&lt;br&gt;
&amp;gt;&amp;gt; Software Architect&lt;br&gt;
&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt; --&lt;br&gt;
&amp;gt; Cem SONMEZ&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;--&lt;br&gt;
&lt;font color=&quot;#888888&quot;&gt;Cem SONMEZ&lt;br&gt;
&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26485877&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/errors-while-swf10-compilation-during-NetConnection-operations-tp26476893p26485877.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26481648</id>
	<title>Re: Flex 4 documentation</title>
	<published>2009-11-23T08:40:26Z</published>
	<updated>2009-11-23T08:40:26Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">Can you start a page on the wiki for this kind of info, and maybe add some bits about how to get the debug player and use fdb?
&lt;br&gt;&lt;br&gt;On 2009-11-23, at 10:01, Henry Minsky wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Note for swf10 app developers:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OpenLaszlo currently ships with a copy of &amp;nbsp;the Flex 4 Compiler SDK &amp;nbsp;(Adobe's
&lt;br&gt;&amp;gt; code name is Gumbo), specifically the last 'stable build', which is
&lt;br&gt;&amp;gt; flex_sdk_4.0.0.6898 May 14
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I am not sure which Adobe documentation web page corresponds most closely to
&lt;br&gt;&amp;gt; this flex build. They are up to a Flex 4 Beta 2 release now, but I don't
&lt;br&gt;&amp;gt; know how much the API differs from the milestone build we're using.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I've been using this URL for documentation of the Flex SDK
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Mon, Nov 23, 2009 at 9:43 AM, Henry Minsky &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481648&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; This compiles for me in swf10 without error in trunk
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.*;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.events.*;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Camera;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Video;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.Microphone;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26481648&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Flex-4-documentation-tp26479645p26481648.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26479645</id>
	<title>Flex 4 documentation</title>
	<published>2009-11-23T07:01:40Z</published>
	<updated>2009-11-23T07:01:40Z</updated>
	<author>
		<name>Henry Minsky-2</name>
	</author>
	<content type="html">Note for swf10 app developers:&lt;br&gt;&lt;br&gt;OpenLaszlo currently ships with a copy of  the Flex 4 Compiler SDK  (Adobe&amp;#39;s code name is Gumbo), specifically the last &amp;#39;stable build&amp;#39;, which is flex_sdk_4.0.0.6898 May 14&lt;br&gt;

&lt;br&gt;I am not sure which Adobe documentation web page corresponds most closely to this flex build. They are up to a Flex 4 Beta 2 release now, but I don&amp;#39;t know how much the API differs from the milestone build we&amp;#39;re using. &lt;br&gt;

&lt;br&gt;I&amp;#39;ve been using this URL for documentation of the Flex SDK &lt;br&gt;&lt;a href=&quot;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/3/index.html?filter_flex=4&lt;/a&gt;&lt;br&gt;

&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Nov 23, 2009 at 9:43 AM, Henry Minsky &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479645&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;henry.minsky@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;

This compiles for me in swf10 without error in trunk&lt;div class=&quot;im&quot;&gt;&lt;br&gt;&lt;br&gt;&amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;


    &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;div class=&quot;im&quot;&gt;    &amp;lt;switch&amp;gt;&lt;br&gt;      &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;        &amp;lt;passthrough&amp;gt;&lt;br&gt;          import flash.net.*;&lt;br&gt;          import flash.events.*;&lt;br&gt;

&lt;/div&gt;          import flash.media.Camera;&lt;br&gt;
          import flash.media.Video;&lt;br&gt;          import flash.media.Microphone;&lt;br&gt;&lt;br&gt;        &amp;lt;/passthrough&amp;gt;&lt;br&gt;      &amp;lt;/when&amp;gt;&lt;br&gt;    &amp;lt;/switch&amp;gt;&lt;div class=&quot;im&quot;&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479645&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Flex-4-documentation-tp26479645p26479645.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26479323</id>
	<title>Re: errors while swf10 compilation during NetConnection operations</title>
	<published>2009-11-23T06:43:26Z</published>
	<updated>2009-11-23T06:43:26Z</updated>
	<author>
		<name>Henry Minsky</name>
	</author>
	<content type="html">This compiles for me in swf10 without error in trunk&lt;br&gt;&lt;br&gt;&amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;

    &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;&lt;br&gt;    &amp;lt;switch&amp;gt;&lt;br&gt;      &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;        &amp;lt;passthrough&amp;gt;&lt;br&gt;          import flash.net.*;&lt;br&gt;          import flash.events.*;&lt;br&gt;
          import flash.media.Camera;&lt;br&gt;
          import flash.media.Video;&lt;br&gt;          import flash.media.Microphone;&lt;br&gt;&lt;br&gt;        &amp;lt;/passthrough&amp;gt;&lt;br&gt;      &amp;lt;/when&amp;gt;&lt;br&gt;    &amp;lt;/switch&amp;gt;&lt;br&gt;&lt;br&gt;    &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;        // These lines begin broadcasting.&lt;br&gt;

        this._conn = new NetConnection(); // Create connection object.&lt;br&gt;        this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;quot;); // Connect to server.&lt;br&gt;

        s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;        //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;        s1.attachVideo(Camera.getCamera());       // Capture video.&lt;br&gt;        s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;

&lt;br&gt;        s2 = new NetStream(this._conn);&lt;br&gt;        live._attachStream(s2); // Specify where to display video.&lt;br&gt;        s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;       &lt;br&gt;

            this.s1.onStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onCuePoint = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;

            };&lt;br&gt;            this.s1.onPlayStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onMetaData = function(info) {&lt;br&gt;

                Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;            };       &lt;br&gt;    &amp;lt;/handler&amp;gt;&lt;br&gt;       &lt;br&gt;    &amp;lt;simplelayout/&amp;gt;&lt;br&gt;   &lt;br&gt;    &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;

&lt;br&gt;&lt;br&gt;       &lt;br&gt;&amp;lt;/canvas&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Mon, Nov 23, 2009 at 7:05 AM, cem sonmez &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479323&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;cemosonmez@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Hi &lt;br&gt;Especially i m compiling my code on swf10 but especially at the netconnection operations (sharedobject, netconnection, netstream..) i m getting many errors.&lt;br&gt;

For example at this code for swf8 everything goes fine &lt;br&gt;
&amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;


&lt;br&gt;    &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;        // These lines begin broadcasting.&lt;br&gt;        this._conn = new NetConnection(); // Create connection object.&lt;br&gt;        this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_blank&quot; rel=&quot;nofollow&quot;&gt;192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;quot;); // Connect to server.&lt;br&gt;


        s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;        //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;        s1.attachVideo(Camera.get());       // Capture video.&lt;br&gt;        s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;


&lt;br&gt;        s2 = new NetStream(this._conn);&lt;br&gt;        live._attachStream(s2); // Specify where to display video.&lt;br&gt;        s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;        &lt;br&gt;


            this.s1.onStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onCuePoint = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;


            };&lt;br&gt;            this.s1.onPlayStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onMetaData = function(info) {&lt;br&gt;


                Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;            };        &lt;br&gt;    &amp;lt;/handler&amp;gt;&lt;br&gt;        &lt;br&gt;    &amp;lt;simplelayout/&amp;gt;&lt;br&gt;    &lt;br&gt;    &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;


        &lt;br&gt;&amp;lt;/canvas&amp;gt;&lt;br&gt;&lt;br&gt;But when i try the same operations with as3 way on swf10. Althought i have added lines below in order to add the flash classes to the application for as3, e.g last problem about this issue is an error, like : &lt;code&gt;Error: Call to a possibly undefined method NetStream...&lt;/code&gt;&lt;br&gt;


&lt;br&gt;&amp;lt;switch&amp;gt;&lt;br&gt;            &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;                &amp;lt;passthrough&amp;gt;&lt;br&gt;                    import flash.net.*;&lt;br&gt;                    import flash.events.*;&lt;br&gt;                &amp;lt;/passthrough&amp;gt;&lt;br&gt;


            &amp;lt;/when&amp;gt;&lt;br&gt;&amp;lt;/switch&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I am planning to try my applications just on swf10 env. But most of the time, it is a bit harder than swf8 to work without problem. Do you suggest swf10 development on openlaszlo platform for now. &lt;br&gt;


&lt;br&gt;Best regards. &lt;br&gt;-- &lt;br&gt;&lt;font color=&quot;#888888&quot;&gt;Cem SONMEZ&lt;br&gt;
&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26479323&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/errors-while-swf10-compilation-during-NetConnection-operations-tp26476893p26479323.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26477797</id>
	<title>Re: errors while swf10 compilation during NetConnection operations</title>
	<published>2009-11-23T05:11:27Z</published>
	<updated>2009-11-23T05:11:27Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">On 2009-11-23, at 07:05, cem sonmez wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; But when i try the same operations with as3 way on swf10. Althought i have
&lt;br&gt;&amp;gt; added lines below in order to add the flash classes to the application for
&lt;br&gt;&amp;gt; as3, e.g last problem about this issue is an error, like : Error: Call to a
&lt;br&gt;&amp;gt; possibly undefined method NetStream...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.events.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt; &amp;lt;/switch&amp;gt;
&lt;/div&gt;&lt;br&gt;Possibly try explicitly importing flash.net.NetStream? &amp;nbsp;The fact that you are getting this warning from the compiler implies it does not think NetStream is defined.
&lt;br&gt;&lt;br&gt;&amp;gt; I am planning to try my applications just on swf10 env. But most of the
&lt;br&gt;&amp;gt; time, it is a bit harder than swf8 to work without problem. Do you suggest
&lt;br&gt;&amp;gt; swf10 development on openlaszlo platform for now.
&lt;br&gt;&lt;br&gt;We believe development directly on swf10 is working as well as swf8, although the runtime is stricter, so you will have to address any errors.
&lt;br&gt;&lt;br&gt;For detailed debugging, you can use the debug version of the Flash Player in combination with the Flex debugger.
&lt;br&gt;&lt;br&gt;See &lt;a href=&quot;http://www.openlaszlo.org/pipermail/laszlo-dev/2009-March/020236.html&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.openlaszlo.org/pipermail/laszlo-dev/2009-March/020236.html&lt;/a&gt;&lt;br&gt;&lt;br&gt;(Someone should write up how to use the flex debugger at wiki.openlaszlo.org.)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/errors-while-swf10-compilation-during-NetConnection-operations-tp26476893p26477797.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26476893</id>
	<title>errors while swf10 compilation during NetConnection operations</title>
	<published>2009-11-23T04:05:27Z</published>
	<updated>2009-11-23T04:05:27Z</updated>
	<author>
		<name>cem sonmez</name>
	</author>
	<content type="html">Hi &lt;br&gt;Especially i m compiling my code on swf10 but especially at the netconnection operations (sharedobject, netconnection, netstream..) i m getting many errors.&lt;br&gt;For example at this code for swf8 everything goes fine &lt;br&gt;
&amp;lt;canvas debug=&amp;quot;true&amp;quot; height=&amp;quot;500&amp;quot; width=&amp;quot;100%&amp;quot;&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;_conn&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s1&amp;quot;/&amp;gt;&lt;br&gt;    &amp;lt;attribute name=&amp;quot;s2&amp;quot;/&amp;gt;&lt;br&gt;
&lt;br&gt;    &amp;lt;handler name=&amp;quot;oninit&amp;quot;&amp;gt;&lt;br&gt;        // These lines begin broadcasting.&lt;br&gt;        this._conn = new NetConnection(); // Create connection object.&lt;br&gt;        this._conn.connect(&amp;quot;rtmp://&lt;a href=&quot;http://192.168.1.94/Red5SharedObject/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;192.168.1.94/Red5SharedObject/&lt;/a&gt;&amp;quot;); // Connect to server.&lt;br&gt;
        s1 = new NetStream(this._conn);   // Open stream within connection.&lt;br&gt;        //s1.attachAudio(Microphone.get());   // Capture audio.&lt;br&gt;        s1.attachVideo(Camera.get());       // Capture video.&lt;br&gt;        s1.publish(&amp;quot;todays_news&amp;quot;);          // Begin broadcasting.&lt;br&gt;
&lt;br&gt;        s2 = new NetStream(this._conn);&lt;br&gt;        live._attachStream(s2); // Specify where to display video.&lt;br&gt;        s2.play(&amp;quot;todays_news&amp;quot;); // play() uses the same name as publish() above.&lt;br&gt;        &lt;br&gt;
            this.s1.onStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onCuePoint = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onCuePoint&amp;quot;,info);&lt;br&gt;
            };&lt;br&gt;            this.s1.onPlayStatus = function(info) {&lt;br&gt;                Debug.write(&amp;quot;simpleNetStream onPlayStatus&amp;quot;,info);&lt;br&gt;            };&lt;br&gt;            this.s1.onMetaData = function(info) {&lt;br&gt;
                Debug.write(&amp;quot;simpleNetStream onMetaData&amp;quot;,info);&lt;br&gt;            };        &lt;br&gt;    &amp;lt;/handler&amp;gt;&lt;br&gt;        &lt;br&gt;    &amp;lt;simplelayout/&amp;gt;&lt;br&gt;    &lt;br&gt;    &amp;lt;videoview id=&amp;quot;live&amp;quot; width=&amp;quot;150&amp;quot; height=&amp;quot;150&amp;quot; type=&amp;quot;rtmp&amp;quot; /&amp;gt;&lt;br&gt;
        &lt;br&gt;&amp;lt;/canvas&amp;gt;&lt;br&gt;&lt;br&gt;But when i try the same operations with as3 way on swf10. Althought i have added lines below in order to add the flash classes to the application for as3, e.g last problem about this issue is an error, like : &lt;code&gt;Error: Call to a possibly undefined method NetStream...&lt;/code&gt;&lt;br&gt;
&lt;br&gt;&amp;lt;switch&amp;gt;&lt;br&gt;            &amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;&lt;br&gt;                &amp;lt;passthrough&amp;gt;&lt;br&gt;                    import flash.net.*;&lt;br&gt;                    import flash.events.*;&lt;br&gt;                &amp;lt;/passthrough&amp;gt;&lt;br&gt;
            &amp;lt;/when&amp;gt;&lt;br&gt;&amp;lt;/switch&amp;gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;I am planning to try my applications just on swf10 env. But most of the time, it is a bit harder than swf8 to work without problem. Do you suggest swf10 development on openlaszlo platform for now. &lt;br&gt;
&lt;br&gt;Best regards. &lt;br&gt;-- &lt;br&gt;Cem SONMEZ&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/errors-while-swf10-compilation-during-NetConnection-operations-tp26476893p26476893.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26451688</id>
	<title>Re: [Laszlo-reviews] For Review: Change, 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T15:05:00Z</published>
	<updated>2009-11-20T15:05:00Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">instance-class isn't right either.
&lt;br&gt;&lt;br&gt;It's a node without a tag. &amp;nbsp;The class that makes this node doesn't have a tag, so in that sense the tag for the node is anonymous. &amp;nbsp;You can't have no tag, you need to have something; and it has to be a valid XML identifier.
&lt;br&gt;&lt;br&gt;So far, anonymous seems like the best choice.
&lt;br&gt;&lt;br&gt;On 2009-11-20, at 17:49, Henry Minsky wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I didn't like 'anonymous' at all. I was thinking of 'instance-class' but
&lt;br&gt;&amp;gt; that's pretty un-informative too.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Fri, Nov 20, 2009 at 5:03 PM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26451688&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Good point.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Back to anonymous?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Is there a better term?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On 2009-11-20, at 17:07, André Bargull wrote:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I disagree about this point:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I wouldn't call it a `singleton`, because in case of replication the
&lt;br&gt;&amp;gt;&amp;gt; &amp;quot;instance class&amp;quot; might have multiple instances and therefore isn't a
&lt;br&gt;&amp;gt;&amp;gt; singleton.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; [laszlo-reviews -&amp;gt; laszlo-dev]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I'll try to look at this in just a bit, but I had a thought:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; I wonder if instead of `anonymous` we should use `singleton`, I think
&lt;br&gt;&amp;gt;&amp;gt; that might be more descriptive/accurate. &amp;nbsp;An &amp;quot;instance class&amp;quot; as we have
&lt;br&gt;&amp;gt;&amp;gt; been calling it is really an instance of a singleton class, a class that
&lt;br&gt;&amp;gt;&amp;gt; will only ever have this one instance as a member, so we don't give it a tag
&lt;br&gt;&amp;gt;&amp;gt; name (which is why we think of it as anonymous).
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26451688&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change%2C-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26450988p26451688.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26451501</id>
	<title>Re: [Laszlo-reviews] For Review: Change, 20091120-hqm-i 	Summary: support mixins on instances</title>
	<published>2009-11-20T14:49:00Z</published>
	<updated>2009-11-20T14:49:00Z</updated>
	<author>
		<name>Henry Minsky</name>
	</author>
	<content type="html">I didn&amp;#39;t like &amp;#39;anonymous&amp;#39; at all. I was thinking of &amp;#39;instance-class&amp;#39; but that&amp;#39;s pretty un-informative too. &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 20, 2009 at 5:03 PM, P T Withington &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26451501&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;Good point.&lt;br&gt;
&lt;br&gt;
Back to anonymous?&lt;br&gt;
&lt;br&gt;
Is there a better term?&lt;br&gt;
&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class=&quot;h5&quot;&gt;&lt;br&gt;
On 2009-11-20, at 17:07, André Bargull wrote:&lt;br&gt;
&lt;br&gt;
&amp;gt; I disagree about this point:&lt;br&gt;
&amp;gt; I wouldn&amp;#39;t call it a `singleton`, because in case of replication the &amp;quot;instance class&amp;quot; might have multiple instances and therefore isn&amp;#39;t a singleton.&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; [laszlo-reviews -&amp;gt; laszlo-dev]&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I&amp;#39;ll try to look at this in just a bit, but I had a thought:&lt;br&gt;
&amp;gt;&amp;gt;&lt;br&gt;
&amp;gt;&amp;gt; I wonder if instead of `anonymous` we should use `singleton`, I think that might be more descriptive/accurate.  An &amp;quot;instance class&amp;quot; as we have been calling it is really an instance of a singleton class, a class that will only ever have this one instance as a member, so we don&amp;#39;t give it a tag name (which is why we think of it as anonymous).&lt;br&gt;


&lt;br&gt;
&lt;/div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26451501&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change%2C-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26450988p26451501.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26451016</id>
	<title>Re: [Laszlo-reviews] For Review: Change, 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T14:03:50Z</published>
	<updated>2009-11-20T14:03:50Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">Good point.
&lt;br&gt;&lt;br&gt;Back to anonymous?
&lt;br&gt;&lt;br&gt;Is there a better term?
&lt;br&gt;&lt;br&gt;On 2009-11-20, at 17:07, André Bargull wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; I disagree about this point:
&lt;br&gt;&amp;gt; I wouldn't call it a `singleton`, because in case of replication the &amp;quot;instance class&amp;quot; might have multiple instances and therefore isn't a singleton.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; [laszlo-reviews -&amp;gt; laszlo-dev]
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I'll try to look at this in just a bit, but I had a thought:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I wonder if instead of `anonymous` we should use `singleton`, I think that might be more descriptive/accurate. &amp;nbsp;An &amp;quot;instance class&amp;quot; as we have been calling it is really an instance of a singleton class, a class that will only ever have this one instance as a member, so we don't give it a tag name (which is why we think of it as anonymous).
&lt;br&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change%2C-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26450988p26451016.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26450988</id>
	<title>Re: [Laszlo-reviews] For Review: Change, 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T14:02:16Z</published>
	<updated>2009-11-20T14:02:16Z</updated>
	<author>
		<name>André Bargull-2</name>
	</author>
	<content type="html">I disagree about this point:
&lt;br&gt;I wouldn't call it a `singleton`, because in case of replication the 
&lt;br&gt;&amp;quot;instance class&amp;quot; might have multiple instances and therefore isn't a 
&lt;br&gt;singleton.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt; [laszlo-reviews -&amp;gt; laszlo-dev]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I'll try to look at this in just a bit, but I had a thought:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I wonder if instead of `anonymous` we should use `singleton`, I think that might be more descriptive/accurate. &amp;nbsp;An &amp;quot;instance class&amp;quot; as we have been calling it is really an instance of a singleton class, a class that will only ever have this one instance as a member, so we don't give it a tag name (which is why we think of it as anonymous).
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change%2C-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26450988p26450988.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26449734</id>
	<title>Re: Runtime-independent Binary Libraries [Was: [UPDATE^2] For Review: Change 20091118-ptw-8 Summary: Binary compiler tweaks]</title>
	<published>2009-11-20T12:23:53Z</published>
	<updated>2009-11-20T12:23:53Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">On 2009-11-20, at 15:19, Max Carlson wrote:
&lt;br&gt;&lt;br&gt;&amp;gt; P T Withington wrote:
&lt;br&gt;&amp;gt;&amp;gt; [cc-ing Laszlo-dev]
&lt;br&gt;[...]
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Which got me thinking: &amp;nbsp;could we allow library compilation for a specific runtime(s)? &amp;nbsp;Either the library would support a given runtime, or it wouldn't.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Then we could put off this notion of runtime-independent libraries for a little while. &amp;nbsp;It's not clear to me that cross-runtime lzos are a requirement at this time - though they would be nice.
&lt;br&gt;&amp;gt;&amp;gt; Good point. &amp;nbsp;There are really 2 parts to runtime-indepencence for binary libraries:
&lt;br&gt;&amp;gt;&amp;gt; 1) Make the compiler emit a binary library in a format that can be linked on any platform. &amp;nbsp;This is what the majority of the current work has been toward. &amp;nbsp;There were some major bugs in the old binary library format that meant that even if you compiled for a particular platform, it just wasn't going to work (there were some parts that were hard-wired to assume a particular target platform). &amp;nbsp;That's mostly fixed.
&lt;br&gt;&amp;gt;&amp;gt; 2) IWBRN to have a single binary library that could be linked and compiled to any platform. &amp;nbsp;I think we are real close to having this, modulo the &amp;lt;switch&amp;gt; issue (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8623&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8623&lt;/a&gt;), and as you point out, the &amp;lt;passthrough&amp;gt; tag (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8608&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8608&lt;/a&gt;). &amp;nbsp;If necessary, we can fall back to runtime-specific binary libraries, but I'd like to push a little further to see if we can avoid that.
&lt;br&gt;&amp;gt;&amp;gt; Note that if you are not actually binary-compiling a file (for example mediastream above is an autoinclude, not part of the library you are binary compiling), the compiler could issue a less dreadful warning, because the only issue then is that if you define new &amp;lt;class&amp;gt;s in the switch body, they will not be seen by the binary compiler and could lead to the compile failing (if there is a class in the binary compile that depends on a class defined inside a &amp;lt;switch&amp;gt; in an external include).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sounds good. &amp;nbsp;Can you make this change?
&lt;br&gt;&lt;br&gt;Working on it right now.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; So, one solution to the &amp;lt;switch&amp;gt; problem is simply to move any &amp;lt;switch&amp;gt;s that you _must_ have, out of the binary-compiled library to an external include that is not binary-compiled.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yeah, I think we can do that for a lot of the cases. &amp;nbsp;For webtop, refactoring isn't my department - I think we'll need input there.
&lt;br&gt;&lt;br&gt;I'll send them a message.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Runtime-independent-Binary-Libraries--Was%3A--UPDATE%5E2--For-Review%3A-Change-20091118-ptw-8-Summary%3A-Binary-compiler-tweaks--tp26444558p26449734.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26449679</id>
	<title>Re: Runtime-independent Binary Libraries [Was: [UPDATE^2] For Review: Change 20091118-ptw-8 Summary: Binary compiler tweaks]</title>
	<published>2009-11-20T12:19:41Z</published>
	<updated>2009-11-20T12:19:41Z</updated>
	<author>
		<name>Max Carlson-2</name>
	</author>
	<content type="html">P T Withington wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; [cc-ing Laszlo-dev]
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 2009-11-19, at 18:38, Max Carlson wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Okay, so now that we're compiling (yay!) I've been going through to see what stops the app from running.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On the LPS side, there are lots of errors with the av, drawview and html components. &amp;nbsp;html is lzx, so it's not so easy to rewrite to &amp;lt;script/&amp;gt; syntax...
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I noticed extensions/av/mediastream contains:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;class name=&amp;quot;mediastream&amp;quot; extends=&amp;quot;node&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.*;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.events.*;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.NetConnection;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.NetStream;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.utils.setTimeout;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/switch&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Which got me thinking: &amp;nbsp;could we allow library compilation for a specific runtime(s)? &amp;nbsp;Either the library would support a given runtime, or it wouldn't.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Then we could put off this notion of runtime-independent libraries for a little while. &amp;nbsp;It's not clear to me that cross-runtime lzos are a requirement at this time - though they would be nice.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Good point. &amp;nbsp;There are really 2 parts to runtime-indepencence for binary libraries:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 1) Make the compiler emit a binary library in a format that can be linked on any platform. &amp;nbsp;This is what the majority of the current work has been toward. &amp;nbsp;There were some major bugs in the old binary library format that meant that even if you compiled for a particular platform, it just wasn't going to work (there were some parts that were hard-wired to assume a particular target platform). &amp;nbsp;That's mostly fixed.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 2) IWBRN to have a single binary library that could be linked and compiled to any platform. &amp;nbsp;I think we are real close to having this, modulo the &amp;lt;switch&amp;gt; issue (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8623&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8623&lt;/a&gt;), and as you point out, the &amp;lt;passthrough&amp;gt; tag (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8608&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8608&lt;/a&gt;). &amp;nbsp;If necessary, we can fall back to runtime-specific binary libraries, but I'd like to push a little further to see if we can avoid that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Note that if you are not actually binary-compiling a file (for example mediastream above is an autoinclude, not part of the library you are binary compiling), the compiler could issue a less dreadful warning, because the only issue then is that if you define new &amp;lt;class&amp;gt;s in the switch body, they will not be seen by the binary compiler and could lead to the compile failing (if there is a class in the binary compile that depends on a class defined inside a &amp;lt;switch&amp;gt; in an external include).
&lt;/div&gt;&lt;br&gt;Sounds good. &amp;nbsp;Can you make this change?
&lt;br&gt;&lt;br&gt;&amp;gt; So, one solution to the &amp;lt;switch&amp;gt; problem is simply to move any &amp;lt;switch&amp;gt;s that you _must_ have, out of the binary-compiled library to an external include that is not binary-compiled.
&lt;br&gt;&lt;br&gt;Yeah, I think we can do that for a lot of the cases. &amp;nbsp;For webtop, 
&lt;br&gt;refactoring isn't my department - I think we'll need input there.
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Regards,
&lt;br&gt;Max Carlson
&lt;br&gt;OpenLaszlo.org
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Runtime-independent-Binary-Libraries--Was%3A--UPDATE%5E2--For-Review%3A-Change-20091118-ptw-8-Summary%3A-Binary-compiler-tweaks--tp26444558p26449679.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26449072</id>
	<title>Re: [Laszlo-reviews] For Review: Change 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T11:32:34Z</published>
	<updated>2009-11-20T11:32:34Z</updated>
	<author>
		<name>P T Withington-2</name>
	</author>
	<content type="html">Might as well change this too:
&lt;br&gt;&lt;br&gt;Index: LzNode.lzs
&lt;br&gt;===================================================================
&lt;br&gt;--- LzNode.lzs	(revision 15195)
&lt;br&gt;+++ LzNode.lzs	(working copy)
&lt;br&gt;@@ -2215,7 +2215,7 @@
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// '.' prefix, over tagname, as it will be more specific.
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var nct = node.constructor.tagname;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if (!nct) {
&lt;br&gt;- &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path = 'anonymous';
&lt;br&gt;+ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path = 'singleton';
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;} else {
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;path = nct;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;var sn = parent.subnodes;
&lt;br&gt;&lt;br&gt;On 2009-11-20, at 14:27, Henry Minsky wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Yeah, that's better, I'll change the string.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Fri, Nov 20, 2009 at 11:00 AM, P T Withington &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26449072&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; [laszlo-reviews -&amp;gt; laszlo-dev]
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I'll try to look at this in just a bit, but I had a thought:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I wonder if instead of `anonymous` we should use `singleton`, I think that
&lt;br&gt;&amp;gt;&amp;gt; might be more descriptive/accurate. &amp;nbsp;An &amp;quot;instance class&amp;quot; as we have been
&lt;br&gt;&amp;gt;&amp;gt; calling it is really an instance of a singleton class, a class that will
&lt;br&gt;&amp;gt;&amp;gt; only ever have this one instance as a member, so we don't give it a tag name
&lt;br&gt;&amp;gt;&amp;gt; (which is why we think of it as anonymous).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- 
&lt;br&gt;&amp;gt; Henry Minsky
&lt;br&gt;&amp;gt; Software Architect
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26449072&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;
&lt;/div&gt;&lt;br&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26445749p26449072.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26449015</id>
	<title>Re: [Laszlo-reviews] For Review: Change 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T11:27:08Z</published>
	<updated>2009-11-20T11:27:08Z</updated>
	<author>
		<name>Henry Minsky</name>
	</author>
	<content type="html">Yeah, that&amp;#39;s better, I&amp;#39;ll change the string. &lt;br&gt;&lt;br&gt;&lt;div class=&quot;gmail_quote&quot;&gt;On Fri, Nov 20, 2009 at 11:00 AM, P T Withington &lt;span dir=&quot;ltr&quot;&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26449015&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ptw@...&lt;/a&gt;&amp;gt;&lt;/span&gt; wrote:&lt;br&gt;

&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;&quot;&gt;[laszlo-reviews -&amp;gt; laszlo-dev]&lt;br&gt;
&lt;br&gt;
I&amp;#39;ll try to look at this in just a bit, but I had a thought:&lt;br&gt;
&lt;br&gt;
I wonder if instead of `anonymous` we should use `singleton`, I think that might be more descriptive/accurate.  An &amp;quot;instance class&amp;quot; as we have been calling it is really an instance of a singleton class, a class that will only ever have this one instance as a member, so we don&amp;#39;t give it a tag name (which is why we think of it as anonymous).&lt;/blockquote&gt;

&lt;/div&gt;&lt;br&gt;&lt;br clear=&quot;all&quot;&gt;&lt;br&gt;-- &lt;br&gt;Henry Minsky&lt;br&gt;Software Architect&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26449015&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;hminsky@...&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26445749p26449015.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26445749</id>
	<title>Re: [Laszlo-reviews] For Review: Change 20091120-hqm-i Summary: support mixins on instances</title>
	<published>2009-11-20T08:00:02Z</published>
	<updated>2009-11-20T08:00:02Z</updated>
	<author>
		<name>P T Withington-2</name>
	</author>
	<content type="html">[laszlo-reviews -&amp;gt; laszlo-dev]
&lt;br&gt;&lt;br&gt;I'll try to look at this in just a bit, but I had a thought:
&lt;br&gt;&lt;br&gt;I wonder if instead of `anonymous` we should use `singleton`, I think that might be more descriptive/accurate. &amp;nbsp;An &amp;quot;instance class&amp;quot; as we have been calling it is really an instance of a singleton class, a class that will only ever have this one instance as a member, so we don't give it a tag name (which is why we think of it as anonymous).
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A--Laszlo-reviews--For-Review%3A-Change-20091120-hqm-i-Summary%3A-support-mixins-on-instances-tp26445749p26445749.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26444558</id>
	<title>Runtime-independent Binary Libraries [Was: [UPDATE^2] For Review: Change 20091118-ptw-8 Summary: Binary compiler tweaks]</title>
	<published>2009-11-20T06:48:11Z</published>
	<updated>2009-11-20T06:48:11Z</updated>
	<author>
		<name>P T Withington</name>
	</author>
	<content type="html">[cc-ing Laszlo-dev]
&lt;br&gt;&lt;br&gt;On 2009-11-19, at 18:38, Max Carlson wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Okay, so now that we're compiling (yay!) I've been going through to see what stops the app from running.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On the LPS side, there are lots of errors with the av, drawview and html components. &amp;nbsp;html is lzx, so it's not so easy to rewrite to &amp;lt;script/&amp;gt; syntax...
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I noticed extensions/av/mediastream contains:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;class name=&amp;quot;mediastream&amp;quot; extends=&amp;quot;node&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;switch&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;when property=&amp;quot;$as3&amp;quot;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.media.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.events.*;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.NetConnection;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.net.NetStream;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;import flash.utils.setTimeout;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/passthrough&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/when&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;&amp;lt;/switch&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Which got me thinking: &amp;nbsp;could we allow library compilation for a specific runtime(s)? &amp;nbsp;Either the library would support a given runtime, or it wouldn't.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Then we could put off this notion of runtime-independent libraries for a little while. &amp;nbsp;It's not clear to me that cross-runtime lzos are a requirement at this time - though they would be nice.
&lt;/div&gt;&lt;br&gt;Good point. &amp;nbsp;There are really 2 parts to runtime-indepencence for binary libraries:
&lt;br&gt;&lt;br&gt;1) Make the compiler emit a binary library in a format that can be linked on any platform. &amp;nbsp;This is what the majority of the current work has been toward. &amp;nbsp;There were some major bugs in the old binary library format that meant that even if you compiled for a particular platform, it just wasn't going to work (there were some parts that were hard-wired to assume a particular target platform). &amp;nbsp;That's mostly fixed.
&lt;br&gt;&lt;br&gt;2) IWBRN to have a single binary library that could be linked and compiled to any platform. &amp;nbsp;I think we are real close to having this, modulo the &amp;lt;switch&amp;gt; issue (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8623&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8623&lt;/a&gt;), and as you point out, the &amp;lt;passthrough&amp;gt; tag (&lt;a href=&quot;http://jira.openlaszlo.org/jira/browse/LPP-8608&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://jira.openlaszlo.org/jira/browse/LPP-8608&lt;/a&gt;). &amp;nbsp;If necessary, we can fall back to runtime-specific binary libraries, but I'd like to push a little further to see if we can avoid that.
&lt;br&gt;&lt;br&gt;Note that if you are not actually binary-compiling a file (for example mediastream above is an autoinclude, not part of the library you are binary compiling), the compiler could issue a less dreadful warning, because the only issue then is that if you define new &amp;lt;class&amp;gt;s in the switch body, they will not be seen by the binary compiler and could lead to the compile failing (if there is a class in the binary compile that depends on a class defined inside a &amp;lt;switch&amp;gt; in an external include).
&lt;br&gt;&lt;br&gt;So, one solution to the &amp;lt;switch&amp;gt; problem is simply to move any &amp;lt;switch&amp;gt;s that you _must_ have, out of the binary-compiled library to an external include that is not binary-compiled.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Runtime-independent-Binary-Libraries--Was%3A--UPDATE%5E2--For-Review%3A-Change-20091118-ptw-8-Summary%3A-Binary-compiler-tweaks--tp26444558p26444558.html" />
</entry>

</feed>
