Интерфейс ImaList наследует функции ImaReadList и дополнительно определяет функции добавления ячеек и очистки списка.

- AddCellno ([in,string] maString name, [out,retval] int* cellno)
- AddCell ([in,string] maString name, [out,retval] ImaCell** cell)
- FindCreateCellno ([in,string] maString name, [out,retval] int* cellno)
- FindCreateCell ([in,string] maString name, [out,retval] ImaCell** cell)
- CreateCells ([in] int cellno)
- Clear ()

    HRESULT AddCellno ([in,string] maString name, [out,retval] int* cellno)

Функция добавляет в конец списка ячейку с именем name и пустым значением. Номер новой ячейки записывается в cellno.

Параметры:

name имя ячейки
cellno указатель на возвращаемый номер ячейки

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если name==NULL или cellno==NULL
MA_ERR_REPNAME если ячейка с указанным именем уже существует

    HRESULT AddCell ([in,string] maString name, [out,retval] ImaCell** cell)

Функция совмещает в себе AddCellno и GetCell. Она возвращает в cell указатель на созданную ячейку. Если ячейка с указанным именем уже существует, в cell записывается нулевой указатель.

Параметры:

name имя ячейки
cell указатель на возвращаемую ячейку

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если name==NULL или cell==NULL
MA_ERR_REPNAME если ячейка с указанным именем уже существует

    HRESULT FindCreateCellno (
      [in,string] maString name, [out,retval] int* cellno)

Функция ищет в списке ячейку с именем name. Если такая ячейка не найдена, то функция создаёт новую ячейку, присваивает ей пустое значение и добавляет в конец списка.

Параметры:

name имя ячейки
cellno указатель на номер найденной или созданной ячейки

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если name==NULL или cellno==NULL

    HRESULT FindCreateCell (
      [in,string] maString name, [out,retval] ImaCell** cell)

Функция совмещает в себе FindCreateCellno и GetCell.

Параметры:

name имя ячейки
cell указатель на найденную или созданную ячейку

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если name==NULL или cell==NULL

    HRESULT CreateCells ([in] int cellno)

Функция добавляет в конец списка необходимое количество ячеек, чтобы номер последней ячейки был равен cellno. Если ячейка с таким номером уже есть в списке, функция ничего не добавляет. Все добавленные ячейки не имеют имени и содержат пустое значение.

Параметры:

cellno минимальный новый размер списка

Возвращаемое значение:

MA_NOERROR всегда

    HRESULT Clear ()

Функция очищает список, обнуляет длину списка.

Возвращаемое значение:

MA_NOERROR всегда