Kbase P98277: ENTRY() statement does not do anything when used on a widget attribute.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  10/16/2008 |
|
Status: Unverified
FACT(s) (Environment):
Progress 8.x
Progress 9.x
OpenEdge 10.0x
SYMPTOM(s):
ENTRY() statement does not do anything when used on a widget attribute.
ENTRY() statement does not work when used on an attribute of a handle.
CAUSE:
This is a known issue.
The following code reproduces the problem:
DEF VAR b AS CHAR FORMAT "x(40)".
FORM b WITH FRAME f.
VIEW FRAME f.
ASSIGN b:SCREEN-VALUE IN FRAME f = "Hello,Test".
PAUSE MESSAGE "Before ENTRY()".
ENTRY(1, b:SCREEN-VALUE IN FRAME f) = "s".
PAUSE MESSAGE "After ENTRY()".
When Progress reaches the second PAUSE statement, the fill-in field will still show the string "Hello,Test".
FIX:
You can workaround this problem by assigning the value of the attribute to a character variable, using the ENTRY() statement on that variable, and then assigning the variable back to the attribute:
DEF VAR v AS CHAR.
ASSIGN v = b:SCREEN-VALUE IN FRAME f.
ENTRY(1, v) = "s".
ASSIGN b:SCREEN-VALUE IN FRAME f = v.