#mfc #rtf
#mfc #rtf
Вопрос:
Кто-нибудь знает значение кодов ошибок CRichEditCtrl::StreamIn
?
Я использую следующий код для вставки форматированного текста в свой элемент управления, и иногда я получаю код ошибки типа -16 обратно.
EDITSTREAM es;
es.dwError = 0;
es.dwCookie = (DWORD) amp;mf; // mf is a CMemFile
es.pfnCallback = RtfStreamInCallback; // this is my callback
pRichEditCtrl->StreamIn(nFormat,es);
После вызова StreamIn ошибка es.dwError = -16. Но что это значит?
Ответ №1:
Код ошибки является возвращаемым значением из вашей функции обратного вызова.
Смотрите раздел о возвращаемом значении в записи MSDN для EditStreamCallback:
Тип возвращаемого значения: DWORD Функция обратного вызова возвращает ноль, указывающий на успех. Функция обратного вызова возвращает ненулевое значение, указывающее на ошибку. При возникновении ошибки операция чтения или записи завершается, а элемент управления расширенного редактирования удаляет все данные из буфера pbBuff. Если функция обратного вызова возвращает ненулевое значение, расширенное управление редактированием использует элемент dwError структуры EDITSTREAM для передачи значения обратно в приложение.
http://msdn.microsoft.com/en-US/library/bb774368 (v = VS.85).aspx
Комментарии:
1. Спасибо. Я прочитал эту документацию по меньшей мере дюжину раз, но всегда пропускал эту часть.