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