Callback

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Callback

Beitrag von man-in-black »

moin,

weis nicht so wirklich, wie man ein Callback macht. :oops:
Wie kommt man denn auf die vier Parameter? Wozu sind die gut?

Und wie kann ich ein Callback zum laden einer Internetseite erstellen? :|

MIB :roll:
(hab alles, kann alles, weiß alles!!^^)

Bild
Benutzeravatar
Leonhard
Beiträge: 602
Registriert: 01.03.2006 21:25

Beitrag von Leonhard »

Meinst du jetz einen Windows-Callback oder einen Eigengen Callback?

So funzt das mit einem eigenen Callback:

Code: Alles auswählen

Prototype.s pp_pCallback(Parameter1.s)

Global p_pCallback.pp_pCallback
Procedure SetMyCallback(*Callback.pp_pCallback)
  p_pCallback = *Callback
EndProcedure

Procedure.s StartCallback(Parameter1.s)
  If p_pCallback <> #Null
    ProcedureReturn p_pCallback(Parameter1)
  Else
    ProcedureReturn "Kein Callback gesetzt"
  EndIf
EndProcedure



; Beispiel

Procedure.s MyCallback(Parameter1.s)
  ProcedureReturn "Hello "+Parameter1+"!"
EndProcedure

SetMyCallback(@MyCallback())

Debug StartCallback("World")


End
Wenn du nicht mit Prototype arbeiten willst kannst du auch zum ausführen des Callbacks CallFunctionFast(...) nehmen. Dabei musst du aber für die Rückgabe von Strings PeekS(...) verwenden:

Code: Alles auswählen

Global *p_pCallback
Procedure SetMyCallback(*Callback)
  *p_pCallback = *Callback
EndProcedure

Procedure.s StartCallback(Parameter1.s)
  If *p_pCallback <> #Null
    ProcedureReturn PeekS(CallFunctionFast(*p_pCallback, Parameter1))
  Else
    ProcedureReturn "Kein Callback gesetzt"
  EndIf
EndProcedure



; Beispiel

Procedure.s MyCallback(Parameter1.s)
  ProcedureReturn "Hello "+Parameter1+"!"
EndProcedure

SetMyCallback(@MyCallback())

Debug StartCallback("World")


End
Benutzeravatar
man-in-black
Beiträge: 362
Registriert: 21.08.2006 17:39

Beitrag von man-in-black »

Danke :allright:

kann mir einer aber auch sagen, wie ich das für das Laden einer Internetseite machen kann? :|

MIB
(hab alles, kann alles, weiß alles!!^^)

Bild
Antworten