ComValue.SetValueFromProperty
less than 1 minute to read

Sets the Value property from a property retrieved from .NET Useful to transfer value in .NET that are marshalled incorrectly in FoxPro such as Enum values (that are marshalled as numbers).

public void SetValueFromProperty(object objectRef,
	string property);

Parameters

objectRef
An object reference to the base object

property
Name of the property

Example

foxpro
*** Create an array of parameters (ComArray instance) loParms = loBridge.CreateArray("System.Object") loParms.AddItem(objLogin) loParms.AddItem("Message") *** Create a ComValue structure to hold the result: a DataSet LOCAL loValue as Westwind.WebConnection.ComValue loValue = loBridge.CreateComValue() *** Invoke the method and store the result on the ComValue structure *** Result from this method is Guid which can't be marshalled over COM ? loValue.SetValueFromInvokeMethod(loService,"Login",loParms) *** This is your DataSet *? loValue.Value &&& direct access won't work because it won't marshal *** Now call a method that requires a DataSet parameter loBridge.InvokeMethod(loService,"DataSetToCursors",loValue)

See also:

Class ComValue

© West Wind Technologies, 1996-2024 • Updated: 12/22/16
Comment or report problem with topic