zoukankan      html  css  js  c++  java
  • 如何绕过客户化重载方法返回原始定义的方法(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
  • 相关阅读:
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    团队现场编程实战(抽奖系统)
    Alpha 冲刺 (4/10)
    斗地主
    解方程
    货币系统
  • 原文地址:https://www.cnblogs.com/hcfalan/p/422590.html
Copyright © 2011-2022 走看看