[Laszlo-dev] destroy http resource loading view hangs application

Denis Bohm denis at fireflydesign.com
Mon Jan 30 09:40:36 PST 2006


I tried the code below, but it doesn't seem to work.  Is that the right 
thing to do?

<canvas>

    <simplelayout axis="y"/>
    <button text="click me">
        <method event="onclick"><![CDATA[
            // remove old subviews
            for (var i = 0; i < LzLoadQueue.listofqs.length; ++i) {
                var q = LzLoadQueue.listofqs[i];
                if (q != undefined) {
                    for (var j = q.length - 1; j >= 0; --j) {
                        var mediaLoadObj = q[j];
                        var loader = mediaLoadObj.loader;
                        Debug.inspect(mediaLoadObj);
                        LzMediaLoader.prototype.unload(mediaLoadObj);
                    }
                }
            }
            var subviews = content.subviews;
            for (var i = subviews.length - 1; i >= 0; --i) {
                var view = subviews[i];
                Debug.write(view.loader);
                view.destroy();
            }
           
            // add some new ones
            for (var i = 0; i < 10; ++i) {
                new LzView(parent.content, {resource: 
"http:icons/star.png"});
            }
        ]]></method>
    </button>
    <view name="content">
        <simplelayout axis="x"/>
    </view>
   
</canvas>

Henry Minsky wrote:
> Loading of a resource or data is managed by the LzLoader class.
>
> There is a way to remove a load request from the load queue, which is 
> used by
> the timeout code in LzLoader.
>
> You need to call LzLoader.prototype.unload , but the arg it takes is a 
> "load object" which  you need to get your hands on.
>
> For media loads, I believe this will get it for you:
>
> LzMediaLoader.prototype.getLoadMC
>
> (LzMediaLoader is a subclass of LzLoader)
>
>
> However for data loads, something else needs to be done to get your 
> hands on the
> "load object" from an LzLoader.
>
>
>
> On 1/30/06, * Denis Bohm* <denis at fireflydesign.com 
> <mailto:denis at fireflydesign.com>> wrote:
>
>     I added the code below in the onclick method and it appears that
>     when a
>     view is destroyed, it's loader is not taken out of the load queue - so
>     the load never finishes.  The load queue is then stuck and no more
>     loads
>     occur.  I tried calling view.unload, but it doesn't appear to work.
>     Anyone know how to remove something out of the load queue properly?
>
>                 for (var i = 0; i < LzLoadQueue.listofqs.length; ++i) {
>                     Debug.write(LzLoadQueue.listofqs[i].length);
>                 }
>
>     P T Withington wrote:
>     > I can believe there is a bug there.  Try setting
>     > LzLoader.__LZMonitorState to true.  This will trace the load
>     queue in
>     > the debugger.  Perhaps that will reveal something.
>     >
>     > On 30 Jan 2006, at 01:41, Denis Bohm wrote:
>     >
>     >> The program below removes the images from a container and then
>     loads
>     >> ten images when you click the button.  If you wait for all the
>     images
>     >> to load then it works fine.  If you click before all the images are
>     >> loaded it hangs.  Am I doing something wrong or is this a bug?
>     >>
>     >> <canvas>
>     >>
>     >>    <simplelayout axis="y"/>
>     >>    <button text="click me">
>     >>        <method event="onclick"><![CDATA[
>     >>            // remove old subviews
>     >>            var subviews = content.subviews ;
>     >>            for (var i = subviews.length - 1; i >= 0; --i) {
>     >>                var view = subviews[i];
>     >>                view.destroy();
>     >>            }
>     >>                       // add some new ones
>     >>            for (var i = 0; i < 10; ++i) {
>     >>                new LzView(parent.content, {resource:
>     >> "http:icons/star.png"});
>     >>            }
>     >>        ]]></method>
>     >>    </button>
>     >>    <view name="content">
>     >>        <simplelayout axis="x"/>
>     >>    </view>
>     >>    </canvas>
>     >> _______________________________________________
>     >> Laszlo-dev mailing list
>     >> Laszlo-dev at openlaszlo.org <mailto:Laszlo-dev at openlaszlo.org>
>     >> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
>     <http://www.openlaszlo.org/mailman/listinfo/laszlo-dev>
>     >
>     >
>
>     _______________________________________________
>     Laszlo-dev mailing list
>     Laszlo-dev at openlaszlo.org <mailto:Laszlo-dev at openlaszlo.org>
>     http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
>
>
>
>
> -- 
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com <mailto:hminsky at laszlosystems.com>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://openlaszlo.org/pipermail/laszlo-dev/attachments/20060130/501eb99a/attachment.html


More information about the Laszlo-dev mailing list