Kbase P14839: System Error 48 with a ChUI program and a DOWN frame.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  15/10/2008 |
|
Status: Unverified
FACT(s) (Environment):
Progress 9.x
SYMPTOM(s):
Error running a program
SYSTEM ERROR: Bus error. (48)
Stack trace reads:
wvInsertTextBlock
ke_txtbegin
wvSetEditorAttr
umEdSetAttr
Program uses a DOWN frame containing an EDITOR widget.
Program uses SCROLL FROM-CURRENT.
CAUSE:
This is a known issue.
Usually the SCROLL FROM-CURRENT is used in pre-version 7 ChUI programs to achieve in-line editing (modifying or adding a new record in the same DOWN frame where the records are viewed).
When the DOWN frame contains EDITOR widgets, SCROLL FROM-CURRENT does not work correctly, and it can eventually lead to the System Error 48 with the give stack trace.
FIX:
Do not use EDITOR widgets in your DOWN frame along with SCROLL FROM-CURRENT.
For example, you may want to emulate in-line editing by actually using a different frame that overlays one of the DOWN instances perfectly. This way, the visual feedback is the same as in-line editing, but your program will actually use a second frame. Something like:
FORM
customer.custNum
customer.name
WITH FRAME fDown 10 DOWN ROW 2 COL 1.
/* This second form emulates in-line editing in the first one. */
FORM
SPACE(3)
customer.custNum
customer.name
WITH FRAME fEdit ROW 6 COL 2 NO-BOX NO-LABELS OVERLAY.
VIEW FRAME fDown.
FIND FIRST customer.
PAUSE 0 NO-MESSAGE.
UPDATE customer.custNum customer.name WITH FRAME fEdit.