Реализация библиотеки требует выполнения следующих шагов:
  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.