Consultor Eletrônico



Kbase P166442: Crash when using BUFFER-VALUE to get the value of an array extent without specifying the extent
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   20/05/2010
Status: Unverified

SYMPTOM(s):

Crash when using BUFFER-VALUE to get the value of an array extent without specifying the extent

SYSTEM ERROR: fmeval: bad data type for function <function>. (66)

SYSTEM ERROR: fmeval: bad data type for function 15. (66)

** Array subscript <value> is out of range. (26)

** Array subscript 0 is out of range. (26)

Code to reproduce the problem:


DEFINE TEMP-TABLE test
FIELD logfield AS LOGICAL EXTENT 3.

CREATE test.
IF TEMP-TABLE test:DEFAULT-BUFFER-HANDLE:BUFFER-FIELD("logfield"):BUFFER-VALUE() = NO THEN
DISPLAY "no".
ELSE
DISPLAY "yes".

FACT(s) (Environment):

All Supported Operating Systems
OpenEdge 10.2x
OpenEdge Category: Language (4GL/ABL)

CAUSE:

Bug# OE00197766

CAUSE:

The BUFFER-VALUE attribute of a BUFFER-FIELD allows the usage of parenthesis when dealing with array fields to specify which element you are addressing. When left blank this should return an error anyway, but it shouldn't crash.

FIX:

Indicate which array element you are referencing in the parenthesis of the BUFFER-VALUE attribute:

e.g. :BUFFER-FIELD("logfield"):BUFFER-VALUE(1)