PRB: ActiveX Controls Passing Variant* Back to VFP Cause Error (177575)
The information in this article applies to:
- Microsoft Visual FoxPro for Windows 5.0
- Microsoft Visual FoxPro for Windows 5.0a
- Microsoft Visual FoxPro for Windows 6.0
This article was previously published under Q177575 SYMPTOMS
When calling a method in an ActiveX control built with Microsoft Foundation
Classes (MFC), if there is an out parameter in the method with a type
variant, Visual FoxPro returns a type mismatch error.
CAUSE
When you call a method in the ActiveX control and pass it a variable by
reference to receive a parameter value back from the ActiveX control,
Microsoft Visual FoxPro seems to use a data type of BSTR. If the ActiveX
method's parameter is defined as a Variant in the MFC based ActiveX
control, this causes MFC to try and coerce the data types to match by using
the VariantChangeType function. This function returns the type mismatch
error.
RESOLUTION
Controls built with the ActiveX Template Library (ATL) do not have this problem.
If you build the control in Microsoft Foundation Classes (MFC), avoid using
out parameter data types of variant.
STATUS
This behavior is by design.
REFERENCES
For additional information, please see the following articles in the
Microsoft Knowledge Base:
146219 How To Register an ActiveX Control (.ocx) Manually
139154 OLE Control Licensing in Visual FoxPro
Modification Type: | Minor | Last Reviewed: | 2/17/2005 |
---|
Keywords: | kbprb KB177575 |
---|
|