Реализация библиотеки требует выполнения следующих шагов:

1. Создание нового проекта динамической библиотеки.
2. Реализация методов (см. предыдущий параграф).
3. Определение класса библиотеки.
4. Реализация в этом классе единственной функции CreateMethodDef.
5. Включение в функцию CreateMethodDef кода для создания экземпляра каждого из методов, определяемых данной библиотекой.
6. Определение GUID класса библиотеки, сгенерированного утилитой guidgen.exe.
7. Определение фабрики класса и экспортируемых функций DLL.

Макрос MA_LIBRARY имеет 4 аргумента: CLSID класса библиотеки; имя класса библиотеки; текстовая строка, по которой библиотеку можно найти в реестре; комментарий, также заносимый в реестр.
Добавление метода в уже существующую библиотеку возможно при наличии исходного кода и требует выполнения только шагов 2 и 5.
Ниже приводится исходный код, реализующий библиотеку CExampleLib, создающую методы Tune и Calc для алгоритма LSM.

    library BasicRecog;
    uses
      Sysutils,
      ComServ,
      ComObj,
      MAComClasses in '..\shared\MAComClasses.pas',
      ForecsysMACom in '..\shared\ForecsysMACom.pas';

    const
      CLSID_SampleLibrary:TGUID='{12121212-1212-1212-1212-121212121212}';
    type
      TSampleLibrary=class(TComObject {не TInterfacedObject!},ImaLibrary)
      public
        function  CreateMethodDef(aname: PWideChar; methodno: integer;
                              out Method: ImaMethodDef): HResult; stdcall;
            // Функция создания экземпляров методов
      end;

    // Функция создания экземпляров методов
    function TSampleLibrary.CreateMethodDef(aname: PWideChar;
      methodno: integer; out Method: ImaMethodDef): HResult;
    begin
      result:=MA_NOERROR;
      method:=nil;
      if WideCompareText(aname,'BayesClassifierWeight')=0 then
        case methodno of
            0:method:=TLinTune.Create;
            1:method:=TLinCalc.Create;
        else
            result:=MA_ERR_METHODUNDEF;
        end;

      if method=nil then result:=MA_ERR_NOMEMORY;

    end;

      // Определение экспортируемых функций
    exports
      DllGetClassObject,
      DllCanUnloadNow,
      DllRegisterServer,
      DllUnregisterServer;

    begin
      ComServer.SetServerName('ForecsysExample');

      // Определение фабрики класса библиотеки
      TComObjectFactory.Create(ComServer,TSampleLibrary,CLSID_SampleLibrary,
                  'ExampleLib','Example library, (c) FORECSYS, 2003',
                  ciMultiInstance,tmBoth);
    end.