Project

General

Profile

8393.p

Vladimir Tsichevski, 08/07/2024 03:38 PM

Download (1.63 KB)

 
1
// Test for PSTimer
2
// In this test two PSTimers are created.
3
// The timer handlers are expected to print the "Callback 1" AND "Callback 2" messages after 50 millis after start.
4
// In FWD only one timer fires.
5

    
6
DEFINE VARIABLE CtrlPSTimer AS WIDGET-HANDLE NO-UNDO.
7
DEFINE VARIABLE chCtrlPSTimer AS COMPONENT-HANDLE NO-UNDO.
8

    
9
DEFINE VARIABLE CtrlPSTimer2 AS WIDGET-HANDLE NO-UNDO.
10
DEFINE VARIABLE chCtrlPSTimer2 AS COMPONENT-HANDLE NO-UNDO.
11

    
12
DEFINE FRAME mainFrame WITH SIZE 80 BY 10.
13

    
14
CREATE CONTROL-FRAME CtrlPSTimer ASSIGN
15
       FRAME           = FRAME mainFrame:HANDLE
16
       ROW             = 1
17
       COLUMN          = 45
18
       HIDDEN          = YES
19
       SENSITIVE       = YES.
20

    
21
CREATE CONTROL-FRAME CtrlPSTimer2 ASSIGN
22
       FRAME           = FRAME mainFrame:HANDLE
23
       ROW             = 1
24
       COLUMN          = 45
25
       HIDDEN          = YES
26
       SENSITIVE       = YES.
27

    
28
CtrlPSTimer:NAME = "CtrlPSTimer":U .
29
CtrlPSTimer2:NAME = "CtrlPSTimer2":U .
30

    
31
PROCEDURE CtrlPSTimer.PSTimer.Tick.
32
  chCtrlPSTimer:PSTimer:ENABLED = NO.
33
  MESSAGE "Callback 1".
34
END PROCEDURE.  
35

    
36
PROCEDURE CtrlPSTimer2.PSTimer.Tick.
37
  chCtrlPSTimer2:PSTimer:ENABLED = NO.
38
  MESSAGE "Callback 2".
39
END PROCEDURE.  
40

    
41
ASSIGN
42
    chCtrlPSTimer = CtrlPSTimer:COM-HANDLE
43
    chCtrlPSTimer:LoadControls( ?, "CtrlPSTimer":U).
44
    
45
ASSIGN
46
    chCtrlPSTimer2 = CtrlPSTimer2:COM-HANDLE
47
    chCtrlPSTimer2:LoadControls( ?, "CtrlPSTimer2":U).
48
    
49
ENABLE ALL WITH FRAME mainFrame.
50

    
51
ASSIGN
52
  chCtrlPSTimer:PsTimer:INTERVAL = 50
53
  chCtrlPSTimer:PsTimer:ENABLED  = YES
54
  .
55
  
56
ASSIGN
57
  chCtrlPSTimer2:PsTimer:INTERVAL = 50
58
  chCtrlPSTimer2:PsTimer:ENABLED  = YES
59
  .
60

    
61
WAIT-FOR GO OF FRAME mainFrame.
62

    
63