Exemple #1
0
 public void SetPropValue(int propNum, IValue value)
 {
     using (var variant = new NativeApiVariant())
     {
         variant.Assign(value);
         NativeApiProxy.SetPropVal(_object, propNum, variant.Ptr);
     };
 }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        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;
        }