Converts a FoxPro value of an 'unsupported' type to a .NET type by either using a FoxPro CAST() or converting the object into a wwDotnetBridge .NET ComValue object.
Why do we need this?
FoxPro types are fairly limited and there isn't the same variety of types as there are in .NET. For this reason some .NET types cannot be directly converted into .NET types. This method helps with the conversion process by either applying a FoxPro CAST() on the types that support it, or by creating a wwDotnetBridge .NET ComValue() object that returns the wrapped .NET type. The ComValue structure can then be used to pass a parameter or set a value on a .NET object using InvokeMethod() or SetProperty().
loType = loBridge.CreateInstance("Westwind.WebConnection.TypePassingTests") *** Do explicit type conversion for InvokeMethod calls loval = loBridge.ConvertToDotnetValue(16,"int16") *** Call method with Int16 parameter ? loBridge.Invokemethod(loType,"PassInt16",loVal)
Supported Conversions (* denotes returned as ComValue object):
- Int16, Int64
- Char (1 char string or integer)
- Decimal (not required CAST( as Currency) works as well)
- Binary (not required CAST( as Blob) works as well)
The value to convert
The type to convert to (see list above)
See also:Class wwDotNetBridge
Comment or report problem with topic