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

Reply via email to