Seite 1 von 1

Wie Callback aufrufen?

Verfasst: 02.12.2004 22:50
von Sven
Hallo, ich habe mir ein Beispiel zum zyklischen Aufruf über den Windows-Timer genommen und zu untenstehenden Code modifiziert. Das läuft soweit. Nun habe ich festgestellt, dass es erstmal egal ist, ob ich die Callback-Prozedur direkt im SetTimer_ oder über die folgende SetWindowCallback aufrufe. Da ich aber nicht glauben will, dass es wirklich egal ist, könnt ihr mir vielleicht sagen:

Worin liegt der Unterschied / Vorteil von SetWindowCallback zum direkten Aufruf?
Welcher Aufruf ist zu bevorzugen? Bei welchem sind event. Probleme zu erwarten?
Oder ist es wirklich egal?

(Initialisierung aller Variablen / Konstanten und Killtimer am Ende ist natürlich im Quellcode dabei.)

Sven

Code: Alles auswählen

Procedure TimerCallback(WindowID.l, Message.l, wParam.l, lParam.l)  
  Select Message 
    Case #WM_Timer 
      StatusBarText(#idstatusbar, 0, FormatDate("%hh:%ii:%ss", Date()))
  EndSelect  
  ProcedureReturn #PB_ProcessPureBasicEvents 
EndProcedure
  
SetTimer_(WindowID(#idwdmain), #idtimer, 100, @TimerCallback()) 

oder 

SetTimer_(WindowID(#idwdmain), #idtimer, 100, 0) 
SetWindowCallback(@TimerCallback())

Verfasst: 06.12.2004 11:38
von Sven
Nun kommt schon! Das habt ihr doch auch schonmal gemacht. Keiner eine Idee? Ich würd's halt gerne richtig machen...

Sven

Verfasst: 06.12.2004 12:16
von ts-soft
Ist wirklich egal. Solltest Du noch anderweitig Callbacks-Funktionen verwenden, ist die 2-te Variante wohl vorzuziehen.