На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
[!] Как относитесь к модерированию на этом форуме? Выскажите свое мнение здесь
  
> Ошибка "Access violation..." , Ошибка перед компеляцией
    На работе мне поменяли ПК, которому было 100 лет, и на котором написана куча программ сначала под Windows XP, затем 7 версия.
    Оставили 7 Windows по моей просьбе, поскольку слишком много всего нужно было переустанавливать. Админы сделали клон жёсткого диска.
    Получила то, чего очень боялась: понадобилось перекомпилировать программу. Не могу это сделать.
    Выскакивает ошибка "Access violation at address in module comp32p.dll. Read of address 00000000.
    Причем, ошибка возникает не в момент компиляции, а при открытии приложения, когда курсор просто стоит на форме или на коде.
    Создать новое простое приложение я могу. Компиляция идет. А вот старые запустить не получается.
    Обьясните , пожалуйста, что происходит и как из этого выкарабкиваться?
      Цитата laifik @
      Админы сделали клон жёсткого диска.

      Здесь можно подробнее? Делали образ по секторам всего диска, или только раздела с данными, или образ делали по-файлово? В общем, как?

      Судя по ошибке, могу предположить, что не все в порядке с зависимыми загружаемыми модулями, которые грузят отложено. Однако, коль остался компилируемый проект, то самоё надежное дело - скомпилированный проект запустить в режиме отладки, дождаться сбоя и смотреть стек вызовов. Ну и, найдя проблемное место в проекте, смотреть уже дальше. Как-то так.
        К, сожалению, как клонировали, ответить не могу. Могу сказать только, что все эти годы у меня были права админа на свой ПК.
        Сейчас права убрали.
        Вчера я попыталась создать новый проект. Но компоненты копировала со старого. Новый проект компилировался. Единственно, не все библиотеки были подключены. Сегодня пришла на работу. Запустила компиляцию и, вылезла эта же ошибка. Программа закрывается или зависает.
        Сообщение отредактировано: laifik -
          Проверь сперва среду разработки - создай минимальный проект, собери его и потом запусти. Все будет нормально?

          Если "да". Попробуй, как я писал ранее - запускать уже свой тот собранный проект из-под отладчика.
            Цитата laifik @
            К, сожалению, как клонировали, ответить не могу. Могу сказать только, что все эти годы у меня были права админа на свой ПК.
            Сейчас права убрали.

            Вот. Значит, можно попытаться снова запускать
            программу с правами админа. Возможно, проблема
            в этом.
              Тему продолжаю.
              Компьютер заменили полностью. Windows 10. Ни одна программа, написанная мною ранее, не компелируется. Сообщение Comp32P.dll появляется мгновенно, компиляция невозможна. Настройки все проверила. Все нормально.
              Когда смотрю совместимость exe-шеника, то список доходит только до Windows 8. Десятки в списке нет.
              Под админом запустить не могу. Права отобрали - безопасность. У нас даже у программистов их теперь нет.
              Неужели все, что создала ранее, придётся переписывать?
                Цитата laifik @
                Когда смотрю совместимость exe-шеника, то список доходит только до Windows 8. Десятки в списке нет.

                Естественно Windows 10 в списке совместимости на Windows 10 не будет. Для совместимости с Windows 10 надо просто отключить режим запуска совместимости.

                Цитата laifik @
                Сообщение Comp32P.dll появляется мгновенно, компиляция невозможна

                1) Найти, скачать и добавить эту Dll не вариант? Тогда пункт 2
                2) Включить или выключить перенаправление в SysWOW32. Эта dll должна быть в C:\Windows\SysWOW32
                3) Переустановить компилятор или runtime к нему. (Вам нужен компилятор от Borland -- это в его runtime эта библиотека).
                  Цитата laifik @
                  Ни одна программа, написанная мною ранее, не компелируется. Сообщение Comp32P.dll появляется мгновенно, компиляция невозможна.

                  Такая гипотеза:
                  ранее, работа производилась с привилегиями администратора.
                  Это значит, все файлы и папки создававшиеся в процессе работы,
                  имеют права доступа для администратора.
                  Т.е. обычный пользователь доступа к ним иметь не должен.
                  Значит, будет появляться сообщение, что "компиляция не возможна".
                  Тогда надо поменять права доступа к файлам и папкам.
                  у Виндус XP и 7 была консольная утилита "cacls".
                  Пример:
                  Для указанного юзера разрешить полный доступ к указанному
                  каталогу и всех вложенных каталогах и всех файлах там.
                  Цитата

                  // вроде так:
                  cacls "C:\System Volume Information" /T /E /G <имя юзера>:F
                  0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0,0260 ]   [ 16 queries used ]   [ Generated: 22.05.25, 07:00 GMT ]