Returning Floats and Doubles from Automation methods (122286)
The information in this article applies to:
- Microsoft OLE Libraries for Windows and Win32s 2.02
This article was previously published under Q122286 SUMMARY
Automation properties or methods implemented with the C calling convention
in the Windows 16-bit operating system can't return type Float or Double.
This includes the Date type, which is a floating-point type. To work around
this, you can implement them using the Pascal calling convention.
MORE INFORMATION
Automation methods and properties can be marked as using one of the calling
conventions described by the CALLCONV enumeration. This calling convention
is used by the standard IDispatch implementation provided by
CreateStdDispatch and by DispInvoke to call property accessor functions or
methods.
NOTE: An automation controller does not directly use these
calling conventions.
Because of a C Language implementation limitation, automation properties
and methods that return Float or Double cannot use the C calling
convention. You need to use the Pascal calling convention.
For example, describe a method or automation property that returns a Float
or Double as follows in the .ODL file:
[propget] float pascal MyProperty();
float pascal MyMethod();
| Modification Type: | Minor | Last Reviewed: | 3/3/2005 |
|---|
| Keywords: | kbAutomation kbprogramming KB122286 |
|---|
|