Текст с описанием последней ошибки

int sol_GetError( HGREN hEngine, wchar_t * Buffer, int BufferLen )

int sol_GetError8( HGREN hEngine, char * Buffer, int BufferLen )

Аргументы:

hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра словаря.

Buffer - буфер для копирования строки с текстом ошибки.

BufferLen - длина буфера для копирования строки с текстом ошибки, в широких символах для sol_Error и в байтах для sol_GetError8.

Возвращает:

0 - индикатор ошибки пуст.

1 - сообщение об ошибке скопировано в буфер.

Примечания

Если длина буфера, указанная при вызове функции, недостаточно для копирования в него всего описания ошибки, то будет скопирована только помещающаяся часть.

Функции диагностики ошибок не являются потокобезопасными. Это выражается в том числе в том, что между вызовом sol_GetErrorLen и sol_GetError может возникнуть ошибка в другом потоке, и в результате индикатор ошибки будет изменен, к примеру будет хранить строку большей длины.

Пример на C++:

#include "solarix_grammar_engine.h"

int l = sol_GetErrorLen8(hEngine);
char *err = new char[ l ];
sol_GetError8( hEngine, err, l );
// ...
delete[] err;

Навигация по API грамматического словаря

Приобретение SDK грамматического словаря

English version of this page

API layer C++ source code: error_api.cpp

Вернуться к списку функций API

  © Козиев Илья 2019
изменено 27-Mar-11