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> >>> 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