Константы типов данных
Эти константы во всех параметрах типа maType(при получении и установке типов ячейки, матрицы и т.п.)


Определены следующие константы типа maType:

константа значение тип данных
MA_EMPTY 0 Пустое значение
MA_BOOLEAN 1<<0 Логическое значение 0/1
MA_LONG 1<<1 Длинное целое число
MA_DOUBLE 1<<2 Вещественное число двойной точности
MA_STRING 1<<3 Строка maString
MA_COMPONENT 1<<4 Любой компонент (ImaComponent)
MA_READLIST 1<<5 + MA_COMPONENT Список ячеек ImaReadList
MA_LIST 1<<6 + MA_READLIST Список ячеек ImaList
MA_ALGORITHM 1<<7 + MA_READLIST Алгоритм ImaAlgorithm
MA_METHOD 1<<8 + MA_READLIST Метод алгоритма ImaMethod
MA_STREAM 1<<9 + MA_COMPONENT Поток ввода-вывода ImaStream
MA_MATRIX 1<<10 + MA_COMPONENT Многомерная матрица ImaMatrix
MA_SPARSEMATRIX 1<<11 + MA_COMPONENT Разреженная матрица ImaSparseMatrix
MA_COMPOSITE 1<<12 + MA_MATRIXСоставная матрица ImaCompositeMatrix
Следующие значения могут комбинироваться с вышеописанными:
MA_SPARSE 1<<16Разреженная матрица с интерфейсом ImaMatrix
MA_BYTE 1<<17Вместе с MA_LONG - короткое целое
MA_SUBMATRIX 1<<18Подматрица (имеется интерфейс ImaSubmatrix)
MA_EVAL 1<<19 Вычисляемая по требованию матрица (имеется интерфейс ImaEvalMatrix)

Коды возврата
Код возврата имеет тип HRESULT.
Все функции всех интерфейсов maCom возвращают MA_NOERROR в случае, если нет ошибок и код ошибки иначе.

Код Значение
MA_TRUE булевское значение, возвращаемое функциями типа Is***
MA_FALSE булевское значение, возвращаемое функциями типа Is***
MA_NOERROR нет ошибки
MA_ERR_NOTFOUND возвращается, если ячейка, алгоритм или метод с данным именем не найдены
MA_ERR_REPNAME возвращается, если добавляемая в список ячейка имеет имя, которое уже есть в списке
MA_ERR_VERIFY возвращается, если при проверке аргументов метода найдены несоответствия аргументов описанию метода
MA_ERR_METHODUNDEF возвращается, если в библиотеке нет больше методов для данного алгоритма
MA_ERR_NOMEMORY возвращается при нехватке памяти для хранения данных
MA_ERR_INVALIDDEF возвращается при ошибке в спецификации метода при создании метода
MA_ERR_STREAMING возвращается при ошибке ввода/вывода в файл и при ошибках в данных в потоке
MA_ERR_NOTIMPLEMENTED возвращается из ImaMethodDef::Calc или ImaMethodDef::CalcCell, если эта функция не поддерживается методом
MA_ERR_INTERRUPT пользователь запросил остановку вычислений ( возвращается из ImaKernel::Progress )
MA_ERR_IOPERM возвращается при чтении или записи в поток, если файл открыт с правами доступа, не разрешающими операцию
MA_ERR_SECTION_BEGIN возвращается при чтении из потока если найден заголовок компонента
MA_ERR_SECTION_END при чтении из потока достигнут конец компонента
MA_ERR_ACCESS возвращается при попытке записи во входную или чтения из выходной матрицы в методе
MA_ERR_CLIENTFAIL возвращается из ImaMethodDef::Calc или ImaMethodDef::CalcCell, если при выполнении функции возникла ошибка
MA_ERR_BAD_CLSID возвращается при считывании данных из потока в уже созданный компонент, если очередной блок данных в потоке имеет CLSID, не равный CLSID считываемого компонента или при подключении к матрице в разделяемой памяти, если матрица, к которой производится подключение, имеет другой тип
MA_ERR_BAD_PARAM возвращается, если в функцию передан неверный аргумент
MA_ERR_NOINTERFACE возвращается при чтении или записи компонента в поток, если компонент не поддерживает ввод-вывод
MA_ERR_UNKNOWN внутренняя ошибка


Файловые константы
Файловые константы имеют тип HRESULT.
Эти константы используются при создании файлового потока.
Код Значение
Первая группа констант устанавливает режим открытия файла
MA_FILE_READ последовательное чтение
MA_FILE_WRITE последовательная запись
MA_FILE_READWRITE чтение и запись
MA_FILE_APPEND добавление в конец
Вторая группа - форма чтения и записи в поток
MA_FILE_BINARY бинарный поток
MA_FILE_TEXT текстовый поток

Константы режимов отладки
Константы режимов отладки имеют тип int.
Эти константы используются при установке уровня отладки функциями GetDebugLevel и PutDebugLevel интерфейса ImaKernel и определяет количество сообщений, которые выводятся в отладичный поток. Сообщения об ошибках выводятся при любом режиме отладки.

Код Значение
MA_DEBUG_NONE Только сообщения об ошибках. Этот режим установлен по умолчанию.
MA_DEBUG_LIFETIME Выводятся сообщения о создании и уничтожении компонентов maCom.
MA_DEBUG_REFCOUNT Также выводятся сообщения обо всех изменениях счетчиков ссылок на компоненты.
MA_DEBUG_ALLOCATIONS Также выводятся сообщения о выделении и освобождении памяти.