Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.08.2015, 12:22   #1
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию Необработаное исключение

Вот код:
Код:
if(_bstr_t(tagName)==_bstr_t(L"A"))
{
	//получаем атрибут
	VARIANT atrVal;                             
        if(pElem->getAttribute(L"class",0,&atrVal)==S_OK)
        {
		TRACE("atr=%Sn",_bstr_t(atrVal).Detach());
        }
}
Вылетает исключение:
Необработанное исключение в "0x7547812f" в "test_fl_ru.exe": Исключение Microsoft C++: _com_error по адресу 0x0026eb38..

Когда я вписываю вместо class href то все нормально ищет, что получается class не атрибут?
ninja2 вне форума Ответить с цитированием
Старый 21.08.2015, 12:31   #2
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,331
По умолчанию

Нет, в вашем случае L"class" - это не BSTR!
waleri вне форума Ответить с цитированием
Старый 21.08.2015, 13:12   #3
ninja2
Форумчанин
 
Регистрация: 13.08.2015
Сообщений: 193
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Нет, в вашем случае L"class" - это не BSTR!
А если я делаю так L"href" то нормально ищет и считает что это bstr, почему тогда L"class" не bstr???
Ошибка то не там вроде.
Функция возвращает atrVal.vt==VT_NULL, а мне нужно чтобы было VT_BSTR. Делал так все равно тоже самое
Код:
BSTR bstr=SysAllocString(L"class");
                    if((pElem->getAttribute(bstr,0,&atrVal)==S_OK)&&(atrVal.vt==VT_BSTR))
То не в строках дело.

Когда я пишу вместо class href, то ссылки нормально ищет. а классы не находит.

Щас не вылетают необработаные исключения, просто в VARIANT нету BSTR строки, там VT_NULL

Короче класс считается не атрибутом, для него есть другая функция get_className, class не считается атрибутом также как и id

Цитата:
Сообщение от waleri Посмотреть сообщение
Нет, в вашем случае L"class" - это не BSTR!
Щас похоже это является BSTR, я так всегда записывал и нормально все работало, наверно как то оптимизировали компилятор, мб. раньше и не являлось

Последний раз редактировалось Stilet; 21.08.2015 в 15:11.
ninja2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необработанное исключение nik-maximal Visual C++ 0 23.04.2014 16:45
Explorer.exe Исключение неизвестное программное исключение Windows XP, что делать? Igorilla Windows 6 02.04.2013 22:49
Исключение неизвестное программное исключение... Host-2013 Паскаль, Turbo Pascal, PascalABC.NET 19 09.02.2013 21:30
WebClient исключение MyXa Общие вопросы .NET 4 02.02.2011 13:47
исключение из массива. Arcueid1691 Общие вопросы C/C++ 2 24.11.2009 00:54