如何绕过客户化重载方法返回原始定义的方法(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
原文地址:https://www.cnblogs.com/hcfalan/p/422590.html