far.Timer

LuaFAR 3

far.Timer


timer = far.Timer (interval, handler [, ...])

Parameters:
  interval : integer (milliseconds)
  handler  : function
  ...      : additional arguments (any Lua types)

Returns:
  timer    : userdata (timer object), or nil

Description:
  The function creates a periodic timer. Every time the next
  interval milliseconds are elapsed, the handler is called
  with the timer object as its first argument followed by all
  the additional arguments (if any) passed to far.Timer.

  The returned "timer object" can be used to query or modify
  the timer parameters. The object has an API similar to Delphi
  classes: properties, methods, events.

Notes:
  1. handler can be called only when the plugin returns control
     to Far. Thus the real interval between handler calls is not
     exact and can significantly differ from the specified value.

  2. This function requires that the plugin DLL has
     ProcessSynchroEventW exported. (There is not such a requirement
     for export.ProcessSynchroEvent though, as it is not called by the
     Timer function and methods).

Far API used:
  AdvControl (ACTL_SYNCHRO), ProcessSynchroEventW.

Windows API used:
  CreateTimerQueueTimer, CreateTimerQueue, ChangeTimerQueueTimer, DeleteTimerQueueEx