Re: More accurate Timerevent




On Nov 20, 1:54 pm, Gert Baars <g.baar...@xxxxxxxxx> wrote:

Thank you for info. I'd like to try timeSetEvent but Delphi 7 doesn't
recognize it and helpfunction neither. Do I need to add a .dcu at
'uses'? Is this somehow documented?

i expect its documented in Delphi's Win32 help. For D3 its in
MMSystem.pas, I'm surprised its not in D7. In D3 its as ...

interface

type
TFNTimeCallBack = procedure(uTimerID, uMessage: UINT;
dwUser, dw1, dw2: DWORD) stdcall;

{ flags for wFlags parameter of timeSetEvent() function }
const
TIME_ONESHOT = 0; { program timer for single event }
TIME_PERIODIC = 1; { program for continuous periodic event }
TIME_CALLBACK_FUNCTION = $0000; { callback is function }
TIME_CALLBACK_EVENT_SET = $0010; { callback is event - use
SetEvent }
TIME_CALLBACK_EVENT_PULSE = $0020; { callback is event - use
PulseEvent }

{ timer device capabilities data structure }
type
PTimeCaps = ^TTimeCaps;
TTimeCaps = record
wPeriodMin: UINT; { minimum period supported }
wPeriodMax: UINT; { maximum period supported }
end;

{ timer function prototypes }
function timeGetSystemTime(lpTime: PMMTime; uSize: Word): MMRESULT;
stdcall;

function timeGetTime: DWORD; stdcall;
function timeSetEvent(uDelay, uResolution: UINT;
lpFunction: TFNTimeCallBack; dwUser: DWORD; uFlags: UINT): MMRESULT;
stdcall;

const
mmsyst = 'winmm.dll';

implementation

function timeSetEvent; external mmsyst name 'timeSetEvent';

Alan Lloyd

.