[Python-de] Callback Funktionalität in Python

Christopher Arndt chris.arndt at web.de
Fr Mär 14 10:36:42 UTC 2008


Matthes Thomas schrieb:
> Ich möchte in Python eine Callback-Methode zur Verfügung stellen, habe aber noch keine Ahnung wie ich das Anstellen soll.
> Mein Problem: Ich habe eine C++ *.dll  und möchte innerhalb von C++, in Abhängigkeit eines sprontanen Events eine Callback-Methode in Python rufen. Die Anbindung (über ctypes) der *.dll an Python stellt kein Problem dar.
> Was ich nicht weiß:
> 1.) ob ein Callback-Mechanismus in dieser Form in Python generell implementierbar ist
> wenn ja:
> 2.) wie erhalte ich in Python die Funktionsreferenz auf die Callback-Methode, nennen wir sie cb_func()
> 3.) wie Übergebe ich diese Referenz an meine C++ dll, mit einer set_cb_ref(???) Methode ist klar, aber welchen Parametertyp für die Referenz muss ich dabei auf beiden Seiten verwenden?
> 4.) was muss ich dazu sonst noch wissen oder beachten?

Du sagst nicht eindeutig, ob die Callback-Funktion in C oder Python 
implementiert sein soll. Falls letzteres, ist das hier beschrieben:

http://docs.python.org/lib/ctypes-callback-functions.html


Hdh, Chris