Seite 1 von 1

Callback Erklärung

Verfasst: 14.08.2007 11:15
von pede
Hallo

könnte mir jemand bitte genauer erklären was ein Callback ist? (Ich brauch es noch nicht, mich würde aber trotzdem interresiern was man damit machen kann)

Die Suche hat bereits folgendes ausgespuckt:

http://www.purebasic.fr/german/viewtopi ... ck&start=0

[quote ="Kiffi"]im Grunde kann man sich das so vorstellen: Wenn ein Callback gesetzt ist,
dann wird dieser Callback im Fall eines Ereignisses aufgerufen, bevor es bei
[Wait]WindowEvent() ankommt (unabhängig von irgendwelchen Repeat-Schleifen).

Im Callback selber werden auch wesentlich mehr Ereignisse gemeldet als
man durch [Wait]WindowEvent() ermitteln kann. Aus diesem Grund kannst
Du auf #WM_HELP nur im Callback und nicht in der Repeat-Schleife
reagieren.
[/quote]

Jedoch möchte ich gerne mehr drüber wissen... (wie weiß ich, ob ich ein Ereigniss per Callback verarbeiten muss z.B)

Code: Alles auswählen

Result = #PB_ProcessPureBasicEvents
diese Konstante sagt dem Programm, dass es die PureBasic Events weiterverarbeiten soll oder?

wird bei JEDEM event das ausgelöst wird, zuerst das Callback aufgerufen?

Aus der PB Hilfedatei stammt folgender Textausschnitt!
Dieser Befehl assoziiert einen Callback ("Rückruf"), um die Ereignisse aller offenen Fenster zu verarbeiten. Alle Ereignisse werden durch diesen Callback abgefangen und können hier verarbeitet werden. Um einen Callback nur für ein bestimmtes Fenster festzulegen, kann mit dem optionalen Parameter die PB Fensternummer '#Window' übergeben werden.
Tut ein Callback dann das gleiche wie ein Hook? (nein ich kenn mich mit Hooks nicht wirklich aus, ich weiß dass man damit Nachrichten abfangen kann...)

was heißt "low-level" ?

ect....

Danke für jede Hilfe schon im vorraus!

edit: wieso funktioniert das Quote-Tag nicht richtig?

Verfasst: 14.08.2007 11:43
von inc.

Re: Callback Erklärung

Verfasst: 18.08.2007 03:25
von PureLust
pede hat geschrieben:>>> [quote ="Kiffi"] ...

edit: wieso funktioniert das Quote-Tag nicht richtig?
Wegen dem Leerzeichen zwischen "quote" und "=".

Verfasst: 18.08.2007 14:45
von ZeHa
was heißt "low-level"
Das bedeutet im Grunde, daß es sich näher am System befindet. Grob gesagt. Es gibt Dinge, die gehen ans Eingemachte, und da arbeitet man halt auf 'ner sehr "niedrigen" Ebene, z.B. wenn Du jetzt in 'nem Speicherbereich ein paar Bits umbaust. Das ist richtig "low level". Wenn Du aber z.B. einen MessageRequester aufrufst, dann ist das etwas sehr abstraktes, das geht erstmal über mehrere Instanzen und wird erst nach einigen Übersetzungen und Betriebssystem-spezifischen Aufrufen auf dem Prozessor landen und dann ebenfalls Bits und Bytes im Speicher hin- und herschieben.

PureBasic bietet Dir eine hohe Abstraktion, denn es gibt lauter Gadgets, die erstmal je nach Betriebssystem auf die nativen GUI-Elemente "abgebildet" werden. Und auch das Event-Management greift auf das darunterliegende Event-Handling des Betriebssystems zu. Wenn Du das normal benutzt, hast Du eine sehr sichere, abstrakte Befehls-Bibliothek, die einiges für Dich übernimmt. Benutzt Du nun aber Callbacks, dann gibt es mehr zu beachten und man muß "wissen, was man tut", da es direkt mit dem Betriebssystem zusammenarbeitet und somit eine (oder mehrere) Ebene(n) tiefer ist. Daher "low level".

Verfasst: 18.08.2007 15:05
von edel
Nicht wirklich zu gebrauchen , da der Autor es wohl selber nicht verstanden hat.

Verfasst: 18.08.2007 16:22
von pede
Danke für die Antworten :allright:
edel hat geschrieben:

Nicht wirklich zu gebrauchen , da der Autor es wohl selber nicht verstanden hat.
was ist denn daran falsch?
oder was könnte man besser erklären?^^