• 如何绕过客户化重载方法返回原始定义的方法(AtClass)


    例如,客户化类a2BusNew重新定义了IncrementRevision方法,并且Insert under BusItem,那么所有BusItem的子类执行IncrementRevision的时候都会使用a2BusNew对IncrementRevision的定义,现在想对GenDoc执行IncrementRevision的时候不使用新的定义,而使用BusItem的原始定义,那么可以:
    1、创建gendoc.met 文件
       attach message IncrementRevision to GenDoc in server bbksvr;
    2、创建gendoc.mth 文件,重新定义IncrementRevision方法:
    message GenDoc:IncrementRevision
       (
          update: ObjectPtr thisObj ::
          output: integer *mfail
       ) code
    {
       MODNAME("GenDoc:IncrementRevision");
       status dstat = OKAY;
       *mfail = USC_OKAY;
      
       if ( dstat = IncrementRevisionAtClass(BusItemClass, thisObj, mfail) )
       {
           goto EXIT;
       }
     
    CLEANUP:
     
    EXIT:
       if (dstat != OKAY)
       {
           uiShowFatalError(dstat, WHERE);
       }
       return (dstat);
    }
    ;
    3、重新nmake
  • 相关阅读:
    进程和线程
    关于offer对比
    CVTE面经
    重定向
    奇虎360面试经验
    百纳信息(海豚浏览器)面经
    携程网面经
    百度面经
    位运算
    Cracking the Coding Interview 4.8
  • 原文地址:https://www.cnblogs.com/hcfalan/p/422590.html
Copyright © 2020-2023  润新知