Consultor Eletrônico



Kbase P22639: Cannot assign more than 32K to a COM property
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   13/05/2005
Status: Verified

FACT(s) (Environment):

Progress 8.x
Progress 9.x

SYMPTOM(s):

Cannot assign more than 32K to a COM property

Trying to put an XML document into a property of a COM object that maps to a CHARACTER data type.

Running into various errors because CHARACTER cannot be larger than 32K.

CAUSE:

This is a product limitation of Progress 9.x and earlier.
Because the COM properties are mapped to Progress data types they will inherit the limitations of those data types when the COM object is accessed from 4GL.
So if a COM property maps to a CHARACTER data type, it will inherit the maximum size of 32K.

FIX:

Upgrade to OpenEdge 10.0x.
This allows the use of the LONGCHAR data type instead of CHARACTER. LONGCHAR does not have a size limit.

If this is not feasible, the limit must be worked around.
How this should be done depends on the exact scenario. Possible workarounds include, but are not limited to:

- Setting smaller amounts of data to the property and invoking the COM object more often.
- Finding an alternative COM object that can access the data from a file.
- Writing an alternative to the COM object using 4GL.