Меню сайта
Форма входа
Поиск
Календарь
«  Январь 2014  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0


    Пятница, 17.05.2024, 05:12ГлавнаяРегистрацияВход
    Мой сайт
    Приветствую Вас Гость | RSS
    Главная » 2014 » Январь » 11 » Появление "0xC0000005: нарушение прав доступа» сообщение об ошибке при вызове метода CPropertySheet::DoModal и
    04:43

    Появление "0xC0000005: нарушение прав доступа» сообщение об ошибке при вызове метода CPropertySheet::DoModal и





    Если вы представляете малое предприятие, дополнительные учебные и справочные ресурсы см. на сайте Поддержка для малых предприятий.

    При вызове метода CPropertySheet::DoModal() -или- CPropertySheet::Create(), может возникнуть исключение. В окне вывода отображается следующее сообщение:

    Первичное исключение в <program.exe> (Comctl32.dll): 0xC0000005: нарушение прав доступа. <b00></b00></program.exe>

    Исключением является нормальным и осуществляется средствами операционной системы. Это происходит только при первом вызове любого из этих методов и последующие вызовы не будет генерировать этой первой возможности захвата исключений. CommCtl32.dll пытается изменить ресурсы для страницы. Поскольку ресурсы обычно являются разделы только для чтения, это порождает первичное исключение будет перехвачено в операционной системе. Операционная система обрабатывает это исключение и делает доступным для записи ресурсов и затем все завершения в обычном режиме. Из-за ресурсов теперь доступный для записи, все последующие вызовы завершения без этой первой возможности захвата исключений Первой возможности захвата исключений может быть пропущено, так как он является безопасно обрабатываются операционной системой.

    Чтобы предотвратить возникновение исключения, используйте один из следующих способов:
    • Способ 1: Сделать ресурсы чтения/записи. Можно сделать Это, добавив компоновщика, установив следующим образом:
    • Способ 2: Изменение шрифта страницы, поэтому они не MS Sans Serif. MFC проверяет шрифт диалогового окна шаблона страницы. Если это не MS Sans Serif, MFC создает копию этого ресурса в чтение и запись память и изменяет параметры шрифта и передает это c mCtl32.dll. Если библиотека DLL Записывает шаблон страницы, пишет для чтения/записи памяти. Therfore, исключение не выдается.
    • Способ 3: Нет вызова для создания окно свойств в блоке try/catch(...). Вместо этого перехват исключений конкретного в блоке catch.
    Если окно свойств является частью OLE Сервер автоматизации, который можно вызывать с помощью метода сервера сделать ресурсы чтения и записи с помощью одного из первых двух способов Поскольку OLE перехватывает исключение.

    Примечание При изменении ресурсов для чтения и записи ресурсов может быть записать файл подкачки.

    Пример кода

    /* Compile options needed: default */ /***** this code will cause unpredictable results *****/ try { sheet.DoModal(); } catch(...) { } /***** this code is OK *****/ try { if (0 == sheet.DoModal()) throw "DoModal() failed!"; } catch(char * str) { TRACE ("Exception thrown: %s\n", str); }

    Код статьи: 158552 - Последний отзыв: 3 июня 2011 г. - Revision: 4.0

    Информация в данной статье относится к следующим продуктам.
    • Microsoft Foundation Class Library 4.2 на следующих платформах
      • Microsoft Visual C++ 4.0 Standard Edition
      • Microsoft Visual C++ 4.2 Enterprise Edition
      • Microsoft Visual C++ 5.0 Enterprise Edition
      • Microsoft Visual C++ 5.0 Professional Edition
      • Microsoft Visual C++ .NET 2002 Standard Edition
      • Microsoft Visual C++ .NET 2003 Standard Edition
    Ключевые слова:
    kbtshoot kbcode kbprb kbuidesign kbmt KB158552 KbMtru
    Переведено с помощью машинного перевода

    ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.

    Эта статья на английском языке:
    158552

    (http://support.microsoft.com/kb/158552/en-us/ )



    Источник: support.microsoft.com
    Просмотров: 597 | Добавил: inethe | Рейтинг: 0.0/0
    Всего комментариев: 0

    Бесплатный конструктор сайтов - uCozCopyright MyCorp © 2024