Michael,
You're welcome - this trip down message lane has started me to thinking
about how I might be able to use it in my own app. Good goin'!
Glad I could help,
Gene
On Thu, 2009-06-11 at 00:29 +0200, Michael Helwig wrote:
> Hello again,
>
> thanks for your help, Gene. No, fixing the typo did not solve the
> problem. But there was second typo (a ";" at the end of the line of the
> if-statement) which _did_ solve the problem. Thanks!
>
> Michael
>
> Gene Amtower schrieb:
> > So, did fixing the typo fix the problem? You didn't say, but I
> > suspect that might affect things negatively! ;-)
> >
> > On Thu, 2009-06-11 at 00:04 +0200, Michael Helwig wrote:
> >> Sorry, there is a typo in the source. It should read:
> >>
> >> "qx.event.message.Bus.unsubscribe("CONFIG LOADED",this.buildGUI,this);"
> >>
> >> instead of
> >>
> >> "qx.event.message.Bus.unsubscribe("CONFIG_LOADED",this.buildGUI,this);"
> >>
> >> Greets,
> >> Michael
> >>
> >> Michael Helwig schrieb:
> >> > Hi Gene,
> >> >
> >> > thanks, you are right, this at least works in the Playground. But I'm
> >> > still having problems in my actual code. My Application.js contains in
> >> > its members section:
> >> > [CODE]
> >> >
> >> > members : {
> >> >
> >> > buildGUI : function () {
> >> >
> >> > if(hbtables.Application.messageBus.checkSubscription("CONFIG
> >> > LOADED"));
> >> >
> >> > qx.event.message.Bus.unsubscribe("CONFIG_LOADED",this.buildGUI,this);
> >> > }
> >> > main : function () {
> >> >
> >> > hbtables.Application.messageBus =
> >> > qx.event.message.Bus.getInstance();
> >> > hbtables.Application.messageBus.subscribe("CONFIG LOADED",
> >> > this.buildGUI,this);
> >> > }
> >> >
> >> > }
> >> > [/CODE]
> >> >
> >> > This does not work. Checking the output of
> >> >
> >> > [CODE]
> >> > qx.dev.Debug.debugObject(hbtables.Application.messageBus.getSubscriptions());
> >> > [/CODE]
> >> >
> >> > later in the source shows that the function is still in the subscriber's
> >> > list - to be precise, I seem to get the whole document source in the
> >> > output of the debugObject above, which irritates me. Is this the correct
> >> > behavior?
> >> >
> >> > Furthermore, the api documentation says about
> >> > qx.event.message.Bus.unsubscribe:
> >> >
> >> > "unsubscribe a listening method _if_ you supply the callback function
> >> > and execution context, remove only this exact subscription _otherwise_
> >> > remove all subscriptions"
> >> >
> >> > This, I think, suggests that the second and third parameter are
> >> > optional. However, I'm not a native speaker.
> >> >
> >> > Greets,
> >> > Michael
> >> >
> >> > Gene Amtower schrieb:
> >> >
> >> >> Michael,
> >> >>
> >> >> In my API docs, it lists 3 parameters for the Bus.subscribe and
> >> >> Bus.unsubscribe methods...
> >> >>
> >> >> *subscribe(String **message**, Function **subscriber**, Object
> >> >> **context**)*
> >> >> *unsubscribe(String **message**, Function **subscriber**, Object
> >> >> **context**)*
> >> >>
> >> >> where the 3rd parameter is probably going to be "this" and appears to
> >> >> be required per the API docs.
> >> >>
> >> >> When I used all three parameters in my Playground for both subscribe
> >> >> and unsubscribe, the error went away and both the subscibe and
> >> >> unsubscribe work correctly. I moved the dispatch statement around to
> >> >> test the functionality, and it only worked when placed between the
> >> >> subscribe and unsubscribe calls.
> >> >>
> >> >>
> >> >>
> >> >>> var messageBus = qx.event.message.Bus.getInstance();
> >> >>>
> >> >>> var message = new qx.event.message.Message("TEST");
> >> >>>
> >> >>>
> >> >>>
> >> >>> var myfunction = function() {
> >> >>>
> >> >>> alert("Here I am");
> >> >>>
> >> >>> }
> >> >>>
> >> >>>
> >> >>>
> >> >>> messageBus.subscribe("TEST", myfunction, this);
> >> >>>
> >> >>> // messageBus.unsubscribe("TEST");
> >> >>> messageBus.unsubscribe("TEST", myfunction, this);
> >> >>>
> >> >>> messageBus.dispatch(message);
> >> >>>
> >> >>>
> >> >> HTH,
> >> >>
> >> >> Gene
> >> >>
> >> >>
> >> >> On Wed, 2009-06-10 at 20:11 +0200, Michael Helwig wrote:
> >> >>
> >> >>> Hi,
> >> >>>
> >> >>> how can I unsubscribe a function from a message bus
> >> >>> (qx.event.message.Bus)?
> >> >>>
> >> >>> Calling messageBus.unsubscribe("MESSAGE_TEXT") yields an error
> >> >>> ("sub[msgName] is null")
> >> >>> Running the following in the Playground app also yields an error:
> >> >>>
> >> >>> [CODE]
> >> >>> var messageBus = qx.event.message.Bus.getInstance();
> >> >>> var message = new qx.event.message.Message("TEST");
> >> >>>
> >> >>> var myfunction = function() {
> >> >>> alert("Here I am");
> >> >>> }
> >> >>>
> >> >>> messageBus.subscribe("TEST", myfunction);
> >> >>> messageBus.unsubscribe("TEST");
> >> >>> [/CODE]
> >> >>>
> >> >>> Error:
> >> >>> playground.Application[p]: TypeError: k[l] is null
> >> >>>
> >> >>> The combinations
> >> >>> [CODE]
> >> >>> messageBus.unsubscribe("TEST", myfunction);
> >> >>> //OR
> >> >>> messageBus.unsubscribe(myfunction);
> >> >>> [/CODE]
> >> >>> have no effect, the function gets called if the message is dispatched
> >> >>> anyway.
> >> >>>
> >> >>> Am I doing something wrong or is this a bug?
> >> >>>
> >> >>> Greetings,
> >> >>>
> >> >>> Michael
> >> >>>
> >> >>>
> >> >>> ------------------------------------------------------------------------------
> >> >>> Crystal Reports - New Free Runtime and 30 Day Trial
> >> >>> Check out the new simplified licensing option that enables unlimited
> >> >>> royalty-free distribution of the report engine for externally facing
> >> >>> server and web deployment.
> >> >>> http://p.sf.net/sfu/businessobjects
> >> >>> _______________________________________________
> >> >>> qooxdoo-devel mailing list
> >> >>> qooxdoo-devel@lists.sourceforge.net
> >> >>> <mailto:qooxdoo-devel@lists.sourceforge.net>
> >> >>> <mailto:qooxdoo-devel@lists.sourceforge.net
> >> >>> <mailto:qooxdoo-devel@lists.sourceforge.net>>
> >> >>> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >> >>>
> >> >>>
> >> >> ------------------------------------------------------------------------
> >> >>
> >> >> ------------------------------------------------------------------------------
> >> >> Crystal Reports - New Free Runtime and 30 Day Trial
> >> >> Check out the new simplified licensing option that enables unlimited
> >> >> royalty-free distribution of the report engine for externally facing
> >> >> server and web deployment.
> >> >> http://p.sf.net/sfu/businessobjects
> >> >> ------------------------------------------------------------------------
> >> >>
> >> >> _______________________________________________
> >> >> qooxdoo-devel mailing list
> >> >> qooxdoo-devel@lists.sourceforge.net
> >> >> <mailto:qooxdoo-devel@lists.sourceforge.net>
> >> >> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >> >>
> >> >>
> >> >
> >> >
> >> > ------------------------------------------------------------------------------
> >> > Crystal Reports - New Free Runtime and 30 Day Trial
> >> > Check out the new simplified licensing option that enables unlimited
> >> > royalty-free distribution of the report engine for externally facing
> >> > server and web deployment.
> >> > http://p.sf.net/sfu/businessobjects
> >> > _______________________________________________
> >> > qooxdoo-devel mailing list
> >> > qooxdoo-devel@lists.sourceforge.net
> >> > <mailto:qooxdoo-devel@lists.sourceforge.net>
> >> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >> >
> >> >
> >> >
> >>
> >>
> >> ------------------------------------------------------------------------------
> >> Crystal Reports - New Free Runtime and 30 Day Trial
> >> Check out the new simplified licensing option that enables unlimited
> >> royalty-free distribution of the report engine for externally facing
> >> server and web deployment.
> >> http://p.sf.net/sfu/businessobjects
> >> _______________________________________________
> >> qooxdoo-devel mailing list
> >> qooxdoo-devel@lists.sourceforge.net
> >> <mailto:qooxdoo-devel@lists.sourceforge.net>
> >> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >>
> > ------------------------------------------------------------------------
> >
> > ------------------------------------------------------------------------------
> > Crystal Reports - New Free Runtime and 30 Day Trial
> > Check out the new simplified licensing option that enables unlimited
> > royalty-free distribution of the report engine for externally facing
> > server and web deployment.
> > http://p.sf.net/sfu/businessobjects
> > ------------------------------------------------------------------------
> >
> > _______________________________________________
> > qooxdoo-devel mailing list
> > qooxdoo-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
> >
>
>
> ------------------------------------------------------------------------------
> Crystal Reports - New Free Runtime and 30 Day Trial
> Check out the new simplified licensing option that enables unlimited
> royalty-free distribution of the report engine for externally facing
> server and web deployment.
> http://p.sf.net/sfu/businessobjects
> _______________________________________________
> qooxdoo-devel mailing list
> qooxdoo-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
------------------------------------------------------------------------------
Crystal Reports - New Free Runtime and 30 Day Trial
Check out the new simplified licensing option that enables unlimited
royalty-free distribution of the report engine for externally facing
server and web deployment.
http://p.sf.net/sfu/businessobjects
_______________________________________________
qooxdoo-devel mailing list
qooxdoo-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel