Specifies the expected data type returned from a Windows Dynamic Link Library (DLL) routine.

Data type: CHARACTER

Access: Readable/Writable

Applies to: Call object handle

The RETURN-VALUE-DLL-TYPE attribute must be assigned before invoking the call object's INVOKE() method. After invocation, RETURN-VALUE contains an equivalent ABL data type which matches RETURN-VALUE-DLL-TYPE as shown in the following table.

Table 1. Mapping RETURN-VALUE-DLL-TYPE to RETURN-VALUE
RETURN-VALUE-DLL-TYPE RETURN-VALUE
BYTE INTEGER
CHARACTER CHARACTER
DOUBLE DECIMAL
FLOAT DECIMAL
INT64 INT64
LONG INTEGER
MEMPTR MEMPTR
SHORT INTEGER
UNSIGNED-LONG INT64
UNSIGNED-SHORT INTEGER

For example, if a DLL function is expected to return a LONG value, then RETURN-VALUE-DLL-TYPE is set to "LONG" before executing the INVOKE() method. After the invocation, RETURN-VALUE-DATA-TYPE has a value of "INTEGER" and RETURN-VALUE contains an INTEGER value.

If RETURN-VALUE-DLL-TYPE is not set, the DLL routine's return value is ignored, and RETURN-VALUE is set to the Unknown value (?).

CAUTION: When invoking a Windows DLL function, ABL does not actually allow you to retrieve return values of type CHARACTER or LONGCHAR, as well as CHARACTER or LONGCHAR array return values. Rather, use MEMPTR to access the string values. For more information, see OpenEdge Programming Interfaces.

See also

INVOKE( ) method (Handle), RETURN-VALUE attribute