Show contents 

Metabase > Metabase Assembly Interfaces > ISaveMetabaseObjectHandlers > ISaveMetabaseObjectHandlers.Add

ISaveMetabaseObjectHandlers.Add

Syntax

Add(ClassId: MetabaseObjectClass): ISaveMetabaseObjectHandler;

Parameters

ClassId. Class of objects, for which an event handler is added.

Description

The Add method creates a handler of events that occur on object metadata change for the specified object class.

Comments

One of elements of the MetabaseObjectClass enumeration is specified as the value of the ClassId parameter. If an event handler is set for extensions of Foresight Analytics Platform, the required class can be obtained in the IMetabaseCustomExtender.Classes collection in the IMetabaseCustomClass.ClassId property.

Example

Executing the example requires that the repository contains a unit with the MOD_HANDLERS identifier. The unit implements the CSaveTableLog class that contains event handlers.

M_HANDLERS unit code

Add a link to the Metabase system assembly.

Sub AddHandler;
Var
    Mb: IMetabase;
    SpecObj: ISpecialObjects;
    ObjectHandlers: ISaveMetabaseObjectHandlers;
    ObjectHandler: ISaveMetabaseObjectHandler;
Begin
    Mb := MetabaseClass.Active;
    SpecObj := Mb.SpecialObjects(True);
    ObjectHandlers := SpecObj.SaveMetabaseObjectHandlers;
    ObjectHandler := ObjectHandlers.Add(MetabaseObjectClass.KE_CLASS_TABLE);
    ObjectHandler.Assembly := Mb.ItemById("M_HANDLERS");
    ObjectHandler.Class_ := "CSaveTableLog";
    (SpecObj As IMetabaseObject).Save;
End Sub AddHandler;

After executing the example an event handler is created for repository tables.

See also:

ISaveMetabaseObjectHandlers