C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 56 - HRESULT и отладка, реальный пример / ActiveX по шагам / Приложение

Шаг 56 - HRESULT и отладка, реальный пример

Я уже писал, что HRESULT довольно сложная переменная и определить ошибку по ней довольно сложно. Давайте посмотрим как это исправить. В шаге "Шаг 44 - Обработка ошибок COM - HRESULT" было написано про Error Lookup. Вот теперь все вместе и сделаем. Напишем программу:

#include "stdafx.h"
#include "windows.h"
#include "ole2.h"
#include "iostream.h"

int main(int argc, char* argv[])
{
	OLECHAR filename[20];
	wcscpy(filename,L"test.stg");
	LPSTORAGE pIStorage=NULL;
	HRESULT rez;
	rez=StgOpenStorage(filename,NULL, STGM_READ ,NULL,0,&pIStorage);
	if (!FAILED(rez))
	{
		cout << "Ok open" << endl;
	}
	else cout << "Error open" << endl;
	return 0;
}

Запустим и посмотрим, что будет:

Error open
Press any key to continue

Ошибка !!! Установим курсор на строку с Failed и запустим программу на выполнение до курсора.

56_1.gif (2258 b)

Внизу у нас будут значения текущих переменных.

56_2.gif (3080 b)

Обратите внимание на то, что у меня стоит просмотр как Hex. Это необходимо, чтобы скопировтать значение переменной rez. Если на ней два раза щелкнуть, то появится возможность ее скопировать через меню Edit Copy:

56_3.gif (8254 b)

Вот теперь запустим Error Lookup. Значение переменной уже должно быть в окне. Если нет, то вставьте. Нажав на кнопку Look Up мы увидим ошибку.

56_4.gif (2422 b)

И правда мы при открытии хранилища не указали флаги. Как его открывать, то есть с каким доступом, а это необходимо.


| |
Автор Каев Артем.
[AD]