Project

General

Profile

tc10938_base.p

Hynek Cihlar, 08/28/2026 05:15 AM

Download (2.69 KB)

 
1
/* tc10938_base.p - OE baseline: SCREEN-VALUE of realized-but-never-assigned widgets */
2
DEFINE STREAM sout.
3

    
4
DEFINE VARIABLE fdate AS DATE        VIEW-AS FILL-IN FORMAT "99/99/9999" NO-UNDO.
5
DEFINE VARIABLE fdtm  AS DATETIME    VIEW-AS FILL-IN NO-UNDO.
6
DEFINE VARIABLE fdtz  AS DATETIME-TZ VIEW-AS FILL-IN NO-UNDO.
7
DEFINE VARIABLE fint  AS INTEGER     VIEW-AS FILL-IN NO-UNDO.
8
DEFINE VARIABLE fdec  AS DECIMAL     FORMAT "->>,>>9.99" VIEW-AS FILL-IN NO-UNDO.
9
DEFINE VARIABLE fchr  AS CHARACTER   FORMAT "x(10)" VIEW-AS FILL-IN NO-UNDO.
10
DEFINE VARIABLE flog  AS LOGICAL     VIEW-AS FILL-IN NO-UNDO.
11
DEFINE VARIABLE icb   AS INTEGER     VIEW-AS COMBO-BOX LIST-ITEM-PAIRS "One",1,"Two",2 NO-UNDO.
12
DEFINE VARIABLE chid  AS CHARACTER   FORMAT "x(10)" NO-UNDO.
13

    
14
DEFINE FRAME f fdate fdtm fdtz fint fdec fchr flog icb WITH SIDE-LABELS 15 DOWN.
15
DEFINE FRAME g chid WITH SIDE-LABELS.
16

    
17
PROCEDURE rep:
18
   DEFINE INPUT PARAMETER tag AS CHARACTER NO-UNDO.
19
   DEFINE INPUT PARAMETER v   AS CHARACTER NO-UNDO.
20
   IF v = ? THEN
21
      PUT STREAM sout UNFORMATTED tag " = ?(unknown)" SKIP.
22
   ELSE
23
      PUT STREAM sout UNFORMATTED tag " = [" v "] len=" LENGTH(v) SKIP.
24
END PROCEDURE.
25

    
26
SESSION:DATE-FORMAT = "mdy".
27
OS-CREATE-DIR "C:\temp".
28
OUTPUT STREAM sout TO "C:\temp\tc10938_out.txt".
29

    
30
PUT STREAM sout UNFORMATTED "OE version: " PROVERSION " session: " SESSION:DISPLAY-TYPE SKIP.
31

    
32
/* 1. before ENABLE: frame not yet realized */
33
RUN rep("pre.date  ", fdate:SCREEN-VALUE IN FRAME f).
34
RUN rep("pre.chr   ", fchr:SCREEN-VALUE IN FRAME f).
35

    
36
ENABLE ALL WITH FRAME f.
37

    
38
/* 2. realized + enabled, never assigned */
39
RUN rep("post.date ", fdate:SCREEN-VALUE IN FRAME f).
40
RUN rep("post.dtm  ", fdtm:SCREEN-VALUE IN FRAME f).
41
RUN rep("post.dtz  ", fdtz:SCREEN-VALUE IN FRAME f).
42
RUN rep("post.int  ", fint:SCREEN-VALUE IN FRAME f).
43
RUN rep("post.dec  ", fdec:SCREEN-VALUE IN FRAME f).
44
RUN rep("post.chr  ", fchr:SCREEN-VALUE IN FRAME f).
45
RUN rep("post.log  ", flog:SCREEN-VALUE IN FRAME f).
46
RUN rep("post.icb  ", icb:SCREEN-VALUE IN FRAME f).
47

    
48
/* 3. hidden-frame staleness scenario (FWD MAJOR-1 repro) */
49
ENABLE chid WITH FRAME g.
50
FRAME g:HIDDEN = TRUE.
51
chid = "hello".
52
DISPLAY chid WITH FRAME g.
53
RUN rep("hidden.chr", chid:SCREEN-VALUE IN FRAME g).
54

    
55
/* 4. after CLEAR FRAME: back to uninitialized */
56
fdate = TODAY.
57
fint  = 42.
58
DISPLAY fdate fint WITH FRAME f.
59
RUN rep("disp.date ", fdate:SCREEN-VALUE IN FRAME f).
60
RUN rep("disp.int  ", fint:SCREEN-VALUE IN FRAME f).
61
CLEAR FRAME f.
62
RUN rep("clear.date", fdate:SCREEN-VALUE IN FRAME f).
63
RUN rep("clear.dtm ", fdtm:SCREEN-VALUE IN FRAME f).
64
RUN rep("clear.int ", fint:SCREEN-VALUE IN FRAME f).
65
RUN rep("clear.chr ", fchr:SCREEN-VALUE IN FRAME f).
66
RUN rep("clear.icb ", icb:SCREEN-VALUE IN FRAME f).
67

    
68
OUTPUT STREAM sout CLOSE.
69
QUIT.