Consultor Eletrônico



Kbase P122520: Error 7 occurs when passing ProDataSet to ComponentOne Chart 8.0 ActiveX control
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/31/2008
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.1x
Windows

SYMPTOM(s):

Using Chart 8.0 ActiveX control from ComponentOne

Attempting to pass a ProDataSet handle to control to generate a chart

Running code or checking syntax results in error 7 and the session dies

SYSTEM ERROR: Illegal choice found in semantic stage. (7)

Stack trace from Kernel32 reads:

RaiseException
dbut_countl

Using LoadAdoRecordSet method of the control

CAUSE:

Firstly, the LoadAdoRecordSet method expects a COM-HANDLE to be passed in, pointing to an ADO RecordSet, but a Progress handle to a DataSet is provided. These data-types are incompatible.
Secondly, the LoadAdoRecordSet method expects a RecordSet (single table) and not a DataSet (collection of tables).

FIX:

Use the Chart 8.0 ActiveX control correctly, for example:

1) Pass in the COM-HANDLE of an ADO RecordSet;
2) Use an alternative method of the control to load data from a file.