Exemple #1
0
        public IValue GetPropValue(int propNum)
        {
            IValue result = ValueFactory.Create();

            NativeApiProxy.GetPropVal(_object, propNum,
                                      variant => result = NativeApiVariant.Value(variant)
                                      );
            return(result);
        }
Exemple #2
0
 private void SetDefValues(int methodNumber, int paramCount, IValue[] arguments)
 {
     for (int i = 0; i < paramCount; i++)
     {
         if (arguments[i] == null)
         {
             NativeApiProxy.GetParamDefValue(_object, methodNumber, i,
                                             variant => arguments[i] = NativeApiVariant.Value(variant)
                                             );
         }
     }
 }
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;
        }