Consultor Eletrônico



Kbase P121019: The new INT64 data type is not supported for ActiveX Automation and ActiveX Controls
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   3/12/2007
Status: Verified

GOAL:

The new INT64 data type is not supported for ActiveX Automation and ActiveX Controls

GOAL:

Why can't I use 64-bit integers with ActiveX Automation?

GOAL:

Why can't I use 64-bit integers with ActiveX Controls?

FACT(s) (Environment):

OpenEdge 10.1B

FIX:

OpenEdge 10.1B does not contain any support for using the new INT64 data type with ActiveX Controls or ActiveX Automation objects.

This is contrary to the documentation, which says that it is supported.

This means that if you try to pass an INT64 data type as a parameter to a COM object the results are unpredictable. It may cause an error. Possible errors are 'Type Mismatch', 'Bad Type' or the number may just not be passed correctly (i.e. a large positive number may become a negative number). This is true even if it is an input parameter and the number in the variable is within the 32-bit range. Therefore, you should not use the INT64 data type with COM objects and therefore cannot expect to be able to get back a 64-bit number correctly from a COM object.

The reason why support for the INT64 data type with ActiveX Automation and ActiveX Controls had to be removed from OpenEdge 10.1B is that the version of OLEAUT32.DLL which is required in order to provide 64-bit integer support, version 5.1.2600.2180, is not supported on all of the Windows platforms on which OpenEdge 10.1B is certified to run. Specifically, the Windows 2000 platform does not support this updated DLL.