Callback Funktion
-
mist und ich hab keinen kaffee da...
kann mir irgendjemand das mal mittels nem beispiel verklickern ? oder was natuerlich besser waere, gibts von irgendjemanden vielleicht ein tutorial, wo das beschrieben und erklaert wird ?
ich durchschau das system ueberhaupt nicht. vielleicht bin ich ja schon an mein geistiges ende gekommen.
langsam komm ich mir echt doof vor
Deadman
-
Da steht drin wie es implementiert ist:
http://www.c-plusplus.net/titelanzeige.php?ISBN=3826629841
-
primitives Beispiel ohne Sinn:
class Int //eine klasse die sich wie ein int verhält { ... divZero myDivZeroHandler; public: typedef void (*divZero)(int); setDivZeroHandler(divZero func) { myDivZeroHandler=func; } }; //irgendwo anders void foo(int i) { cout<<"wollte "<<i<<" durch 0 teilen - Fehler\n"; } //jetzt irgendwo im code: Int i; i.setDivZeroHandler(foo); i/=0; //foo wird aufgerufen
-
ahoi
@Shade Of Mine:
//jetzt irgendwo im code: Int i; i.setDivZeroHandler(foo); i/=0; //foo wird aufgerufen <- warum ???
wieso soll bei i/=0; foo() aufgerufen werden ? wo bekommt er denn die anweisung ?? schoen langsam zweifel ich an mir selber. ich werd mich am besten naechsten motag bei ner baeckerei als lehrling bewerben :o(
@ Marc++us :
hab schon in ner tauschboerse gesucht aber noch nicht gefunden *gg noe sclechter scherz. buecher sind das einzige was ich nicht ueber ne tauschboerse beziehen wuerde. ueber nen PC lesen is mir zu doof.NixVerstehenUndAufLeitungStehDeadman
-
Lies dir ein Tutorial über WinAPI Programmierung durch. Dann rafst du das schon!
Du programmierst doch auch mit der VCL, nicht?Da stellt man doch irgendwie in der Art sowas ein wie
Button.OnClick = ButtonKlickMethode;
Wenn du auf den Button klickst bekommt dein Programm eine Nachricht von Windows und die VCL ruft dann die für OnClick definierte Methode auf, in diesem Fall ButtonKlickMethode.
-
ereignisse stellen eigendlich weniger probleme dar. mir gehts jetzt da um die callback funktionen. und ich steh voll auf dem schlauch und raff garnix
-
*grrrrrr*
wie soll man dir noch helfen :o
-
ButtonKlickMethode ist doch die Callback-Funktion bzw. Methode!!
-
lasst mal die ButtonClick-methode in ruhe, die hat euch nix getan.
von Shade Of Mine das beispiel oben weiter:
i/=0; //foo wird aufgerufen
warum wird da dann die funktion foo aufgerufen ? wo wird das festgelegt ?
bin ich vielleicht auch schon blind geworden ?kann mir das jemand verraten, wo das im code steht ?
Deadman
PS: sorry das ich so begriffsstuetzig bin
-
im operator /=
const Int &Int::operator /= (int x) { if (x == 0) myDivZeroHandler(); else ... }
und myDivZeroHandler zeigt auf foo. das ist callback
[ Dieser Beitrag wurde am 29.03.2003 um 15:07 Uhr von Noesis editiert. ]