例如,客户化类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");
(
update: ObjectPtr thisObj ::
output: integer *mfail
) code
{
MODNAME("GenDoc:IncrementRevision");
status dstat = OKAY;
*mfail = USC_OKAY;
if ( dstat = IncrementRevisionAtClass(BusItemClass, thisObj, mfail) )
{
goto EXIT;
}
if ( dstat = IncrementRevisionAtClass(BusItemClass, thisObj, mfail) )
{
goto EXIT;
}
CLEANUP:
EXIT:
if (dstat != OKAY)
{
uiShowFatalError(dstat, WHERE);
}
return (dstat);
}
;
if (dstat != OKAY)
{
uiShowFatalError(dstat, WHERE);
}
return (dstat);
}
;
3、重新nmake