Btrieve GetNextExtended Status 62
У меня возникают проблемы с работой GetNextExtended(36) в Btrieve. Вот вызов, который возвращает код состояния 62:
intStatus = BTRCALL(B_GETNEXTEXTENDED, _
m_byteFilePosBlk, _
m_byteRecordBuffer(0), _
lngDataBufferLen, _
ByVal strKeyBuffer, _
intKeyBufferLen, _
m_intKeyNum)
После поиска кода я обнаружил множество сайтов, заявляющих, что код указывает на ошибку в буфере данных, хранящемся в m_byteRecordBuffer. Вот значения, хранящиеся в этой переменной:
m_byteRecordBuffer(0) 16 'These two bytes indicate the total size of'
m_byteRecordBuffer(1) 0 'data buffer'
m_byteRecordBuffer(2) 67 'These two bytes indicate the characters 'UC''
m_byteRecordBuffer(3) 85
m_byteRecordBuffer(4) 0 'These two bytes indicate the maximum reject'
m_byteRecordBuffer(5) 0 'count, which if set to 0 defaults to 4,095'
m_byteRecordBuffer(6) 0 'These two bytes indicate the number of terms'
m_byteRecordBuffer(7) 0 'which has been set to zero'
m_byteRecordBuffer(8) 1 'These two bytes indicate the number of'
m_byteRecordBuffer(9) 0 'records to return'
m_byteRecordBuffer(10) 1 'These two bytes indicate the number of fields'
m_byteRecordBuffer(11) 0 'to extract'
m_byteRecordBuffer(12) 2 'These two bytes indicate the length of the'
m_byteRecordBuffer(13) 0 'field to extract'
m_byteRecordBuffer(14) 1 'These two bytes indicate the field offset'
m_byteRecordBuffer(15) 0
Я надеюсь, что я просто упускаю что-то простое. Любая помощь будет принята с благодарностью.
1 ответ
Решение
В буфере записи попробуйте поменять местами символы UC.
Установите "U" (85) в положение 2 и "C" (67) в положение 3.