public void SetPropValue(int propNum, IValue value) { using (var variant = new NativeApiVariant()) { variant.Assign(value); NativeApiProxy.SetPropVal(_object, propNum, variant.Ptr); }; }
public void CallAsProcedure(int methodNumber, IValue[] arguments) { int paramCount = NativeApiProxy.GetNParams(_object, methodNumber); using (var variant = new NativeApiVariant(paramCount)) { SetDefValues(methodNumber, paramCount, arguments); for (int i = 0; i < paramCount; i++) { variant.Assign(arguments[i], i); } NativeApiProxy.CallAsProc(_object, methodNumber, variant.Ptr); } }
public void CallAsFunction(int methodNumber, IValue[] arguments, out IValue retValue) { var result = ValueFactory.Create(); int paramCount = NativeApiProxy.GetNParams(_object, methodNumber); using (var variant = new NativeApiVariant(paramCount)) { SetDefValues(methodNumber, paramCount, arguments); for (int i = 0; i < paramCount; i++) { variant.Assign(arguments[i], i); } NativeApiProxy.CallAsFunc(_object, methodNumber, variant.Ptr, res => result = NativeApiVariant.Value(res) ); } retValue = result; }