On Wed, 07 Jul 2010 22:48:11 +0100, Nathan Huesken <pyt...@lonely-star.org> wrote:

Hi,

I have a class, where I want to store a callback function as a member
to access later:

class CallbackClass:
    def setCallback(self,cb):
        self.cb = cb

    def callCallback(self, para):
        self.cb(para)

Doing so, I get the error:
callbackFunc() takes exactly 1 parameter (2 given)

self is given as parameter this way, is it not? How can this be done?

rho...@gnudebst:~$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41)
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
class CBClass:
...     def set_cb(self, cb):
...             self.cb = cb
...     def call_cb(self, para):
...             self.cb(para)
...
def trivial(arg):
...     print arg
...
c = CBClass()
c.set_cb(trivial)
c.call_cb("Hello, world")
Hello, world

Works for me.  Which version of Python are you using?

--
Rhodri James *-* Wildebeeste Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to