Guten Morgen, welche Bedeutung hat die sogenannten Callback-Funktion? Wozu wird sowas benötigt?
Wie waere es, wenn du deine Hausaufgaben selbst googlen wuerdest? Dann haettest du 5 Sekunden spaeter eine umfassende Antwort gehabt...
Um dich von einen Programmteil über getane Arbeit informieren zu lassen. (Vgl. mit Interrupt) Angenommen du willst eine Webseite abholen so kannst du das synchron oder asynchron machen. z.b. so http.mode = SYNC http.get("http://www.xyz.de/") ' hier wird gewartet print http.data ' diese Zeile wird erst nach dem Holen ausgeführt ODER http.mode = ASYNC http.onComplete = myFunc http.get("http://www.xyz.de/") ' hier wird gewartet print "wir können sofort weiter machen" myFunc( caller ) { print caller.data ' Diese Zeile wird "irgendwann" ausgeführt. Das restl. Programm bekommt davon normalerweise nichts mit } Gruß Roland
Ein anderes Beispiel ist die EnumWindows() Funktion der WinAPI. Diese nimmt mit einem Parameter eine Callback Funktion an welche dann innerhalb des EnumWindows() Aufrufes mit jedem einzelnen verfügbaren Fenster und dessen Daten aufgerufen wird. Da du die Funktion beim EnumWindows() Aufruf mitgibst, kannst du in dieser das ganze steuern - d.h. auch abbrechen. Der Rückgabewert in der Callback Funktion regelt das fortführen oder beenden der Callback Aufrufe. Näheres dazu in der MSDN.
Danke für eure Hilfe. Ich suche dazu ein kleines Beispielprogramm für Microsoft Visual C++.
Dann nimm qsort(). Das ist Standard-C und benutzt einen Callback für die Vergleichsfunktion.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.