Hi Mike, Thanks for the explanation! The Python shell really threw me off here. I thought it would work exactly the same as in the interpreter itself. :-)
Even assigning None to the object exibits the same behaviour as "del" does. COOL! This is what I did sofar: from pydispatch import dispatcher class X(object): def __init__(self): dispatcher.connect(self.someSignal, signal = 1) def someSignal(self): print 'Hello world' a = X() dispatcher.send(1) a = None dispatcher.send(1) print '----------------------' b = X() c = X() dispatcher.send(1) With as output; C:\Documents and Settings\Jorg\Desktop>python New1.py Hello world ---------------------- Hello world Hello world Nice! Thanks a lot for the info! - Jorgen On 4/5/07, Mike C. Fletcher <[EMAIL PROTECTED]> wrote: > Jorgen Bodde wrote: > > Hi all, > > > > Hopefully someone can help me. I am fairly new to Python, and I am > > looking into PyDispatcher. I am familiar with the C++ sigslot variant, > > and I wonder how similar PyDispatches is. I run in to the following > > 'problem' (pseudo code, untested here) > > > Here's some real code... > > from pydispatch import dispatcher > import gc > > class X(object): > def __init__( self ): > dispatcher.connect( self.someSignal, signal=1 ) > def someSignal( self ): > print 'hello world' > > obj = X() > dispatcher.send( signal= 1 ) > > del obj > #gc.collect() > > dispatcher.send( signal= 1 ) > > This will print out only one "hello world" on my Python 2.5 Gentoo > machine (it should work the same on any recent Python). Basically your > python shell will tend to keep around an extra copy of the X instance > until you get rid of it explicitly, and that's what keeps the object > "live" and receiving signals if you try the code in the shell. > PyDispatcher is designed so that, by default, when the object goes away > the registration is removed. It uses the weakref module to do this, > rather than __del__ methods, to avoid garbage cycles, btw. > > HTH, > Mike > > -- > ________________________________________________ > Mike C. Fletcher > Designer, VR Plumber, Coder > http://www.vrplumber.com > http://blog.vrplumber.com > > -- http://mail.python.org/mailman/listinfo/python-list