/// <exception cref="TjsException"></exception>
 /// <exception cref="VariantException"></exception>
 public virtual int OperationByNum(int flag, int num, Variant result, Variant param
                                   , Dispatch2 objThis)
 {
     if (mObject == null)
     {
         throw new TjsException(Error.NullAccess);
     }
     return(mObject.OperationByNum(flag, num, result, param, mObjThis != null ? mObjThis
                          : (objThis != null ? objThis : mObject)));
 }
        /// <exception cref="VariantException"></exception>
        /// <exception cref="TjsException"></exception>
        public virtual int OperationByNum(int flag, int num, Variant result, Variant param
                                          , Dispatch2 objthis)
        {
            Dispatch2 OBJ1 = ((objthis != null) ? (objthis) : (mDispatch1));
            int       hr   = mDispatch1.OperationByNum(flag, num, result, param, OBJ1);

            if (hr == Error.E_MEMBERNOTFOUND && mDispatch1 != mDispatch2)
            {
                Dispatch2 OBJ2 = ((objthis != null) ? (objthis) : (mDispatch2));
                return(mDispatch2.OperationByNum(flag, num, result, param, OBJ2));
            }
            return(hr);
        }