[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