Clear() public method

public Clear ( ) : void
return void
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 /// <exception cref="Kirikiri.Tjs2.TJSException"></exception>
 public override int FuncCall(int flag, string membername, Variant result, Variant
     [] param, Dispatch2 objthis)
 {
     if (membername != null)
     {
         return base.FuncCall(flag, membername, result, param, objthis);
     }
     if (result != null)
     {
         result.Clear();
     }
     return Process(result, param, objthis);
 }
示例#2
0
 /// <exception cref="Kirikiri.Tjs2.VariantException"></exception>
 /// <exception cref="Kirikiri.Tjs2.TJSException"></exception>
 public override int PropGet(int flag, string membername, Variant result, Dispatch2
     objthis)
 {
     int hr = base.PropGet(flag, membername, result, objthis);
     if (hr == Error.E_MEMBERNOTFOUND && (flag & Interface.MEMBERMUSTEXIST) == 0)
     {
         if (result != null)
         {
             result.Clear();
         }
         // returns void
         return Error.S_OK;
     }
     return hr;
 }
示例#3
0
 /// <exception cref="Kirikiri.Tjs2.TJSException"></exception>
 private static bool EnumCallback(int flags, EnumMembersCallback callback, Variant
     value, Dispatch2 objthis, SymbolData data)
 {
     int newflags = 0;
     if ((data.mSymFlags & SYMBOL_HIDDEN) != 0)
     {
         newflags |= Interface.HIDDENMEMBER;
     }
     if ((data.mSymFlags & SYMBOL_STATIC) != 0)
     {
         newflags |= Interface.STATICMEMBER;
     }
     value.Clear();
     if ((flags & Interface.ENUM_NO_VALUE) == 0)
     {
         bool getvalues = false;
         if ((flags & Interface.IGNOREPROP) == 0)
         {
             Variant targ = data.mValue;
             if (targ.IsObject())
             {
                 VariantClosure tvclosure = targ.AsObjectClosure();
                 int hr = Error.E_NOTIMPL;
                 if (tvclosure.mObject != null)
                 {
                     Dispatch2 disp = tvclosure.mObjThis != null ? tvclosure.mObjThis : objthis;
                     hr = tvclosure.mObject.PropGet(0, null, value, disp);
                 }
                 if (hr >= 0)
                 {
                     getvalues = true;
                 }
                 else
                 {
                     if (hr != Error.E_NOTIMPL && hr != Error.E_INVALIDTYPE && hr != Error.E_INVALIDOBJECT)
                     {
                         return false;
                     }
                 }
             }
         }
         if (getvalues == false)
         {
             value.CopyRef(data.mValue);
         }
     }
     return callback.Callback(data.mName, newflags, value);
 }
示例#4
0
 public void Release(Variant va)
 {
     if (va == null)
     {
         return;
     }
     va.Clear();
     int poolSize = mPool.Count;
     if (poolSize < LIMIT_SIZE)
     {
         mPool.AddItem(va);
     }
 }