
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.90] |
![]() |
|
Сообщ.
#1
,
|
|
|
На работе мне поменяли ПК, которому было 100 лет, и на котором написана куча программ сначала под Windows XP, затем 7 версия.
Оставили 7 Windows по моей просьбе, поскольку слишком много всего нужно было переустанавливать. Админы сделали клон жёсткого диска. Получила то, чего очень боялась: понадобилось перекомпилировать программу. Не могу это сделать. Выскакивает ошибка "Access violation at address in module comp32p.dll. Read of address 00000000. Причем, ошибка возникает не в момент компиляции, а при открытии приложения, когда курсор просто стоит на форме или на коде. Создать новое простое приложение я могу. Компиляция идет. А вот старые запустить не получается. Обьясните , пожалуйста, что происходит и как из этого выкарабкиваться? |
Сообщ.
#2
,
|
|
|
Цитата laifik @ Админы сделали клон жёсткого диска. Здесь можно подробнее? Делали образ по секторам всего диска, или только раздела с данными, или образ делали по-файлово? В общем, как? Судя по ошибке, могу предположить, что не все в порядке с зависимыми загружаемыми модулями, которые грузят отложено. Однако, коль остался компилируемый проект, то самоё надежное дело - скомпилированный проект запустить в режиме отладки, дождаться сбоя и смотреть стек вызовов. Ну и, найдя проблемное место в проекте, смотреть уже дальше. Как-то так. |
Сообщ.
#3
,
|
|
|
К, сожалению, как клонировали, ответить не могу. Могу сказать только, что все эти годы у меня были права админа на свой ПК.
Сейчас права убрали. Вчера я попыталась создать новый проект. Но компоненты копировала со старого. Новый проект компилировался. Единственно, не все библиотеки были подключены. Сегодня пришла на работу. Запустила компиляцию и, вылезла эта же ошибка. Программа закрывается или зависает. |
Сообщ.
#4
,
|
|
|
Проверь сперва среду разработки - создай минимальный проект, собери его и потом запусти. Все будет нормально?
Если "да". Попробуй, как я писал ранее - запускать уже свой тот собранный проект из-под отладчика. |
Сообщ.
#5
,
|
|
|
Цитата laifik @ К, сожалению, как клонировали, ответить не могу. Могу сказать только, что все эти годы у меня были права админа на свой ПК. Сейчас права убрали. Вот. Значит, можно попытаться снова запускать программу с правами админа. Возможно, проблема в этом. |
Сообщ.
#6
,
|
|
|
Тему продолжаю.
Компьютер заменили полностью. Windows 10. Ни одна программа, написанная мною ранее, не компелируется. Сообщение Comp32P.dll появляется мгновенно, компиляция невозможна. Настройки все проверила. Все нормально. Когда смотрю совместимость exe-шеника, то список доходит только до Windows 8. Десятки в списке нет. Под админом запустить не могу. Права отобрали - безопасность. У нас даже у программистов их теперь нет. Неужели все, что создала ранее, придётся переписывать? |
Сообщ.
#7
,
|
|
|
Цитата 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 эта библиотека). |
Сообщ.
#8
,
|
|
|
Цитата laifik @ Ни одна программа, написанная мною ранее, не компелируется. Сообщение Comp32P.dll появляется мгновенно, компиляция невозможна. Такая гипотеза: ранее, работа производилась с привилегиями администратора. Это значит, все файлы и папки создававшиеся в процессе работы, имеют права доступа для администратора. Т.е. обычный пользователь доступа к ним иметь не должен. Значит, будет появляться сообщение, что "компиляция не возможна". Тогда надо поменять права доступа к файлам и папкам. у Виндус XP и 7 была консольная утилита "cacls". Пример: Для указанного юзера разрешить полный доступ к указанному каталогу и всех вложенных каталогах и всех файлах там. Цитата // вроде так: cacls "C:\System Volume Information" /T /E /G <имя юзера>:F |