The following table lists the possible conversions from COM data types to ABL data types when accessing COM object properties, method return values, method output parameters, and event input parameters.

If the destination ABL data item has a different data type than the one listed in the following table, ABL tries to convert it.

Table 1. Default conversions from COM data types to ABL data types
COM data type ABL data type
Boolean LOGICAL
Signed Byte INTEGER
Unsigned Byte INTEGER
Signed Short (2-byte integer) INTEGER
Unsigned Short (2-byte integer) INTEGER
Signed Integer (4-byte integer) INTEGER
Unsigned Integer (4-byte integer) INT64
Signed 8-byte Integer INT64
Unsigned 8-byte Integer DECIMAL
Byte[] (Array) RAW
Currency DECIMAL
Date DATETIME
Double DECIMAL
Error INTEGER
Float (Single) DECIMAL
Object COM-HANDLE
String CHARACTER
Note:

The names for COM data types in the above table conform to a nomenclature used in the documentation for most COM objects. For matching alternatives to these names, seen in some documentation and COM object viewers, see the table Alternative COM data type names.

ABL resolves any Pointer or Variant Pointer references to COM data types, then converts the value to the corresponding ABL data type.