Загрузка определенного кадра в Delphi 6 приводит к его немедленному завершению - PullRequest
1 голос
/ 23 февраля 2012

У меня есть кадр, у которого никогда не было проблем.Теперь, когда я нахожусь в Delphi 6 IDE и пытаюсь нарисовать его экземпляр на Форме в режиме разработки, IDE немедленно завершает работу без каких-либо сбоев, диалоговых окон или стилей сообщения «Пожалуйста, сообщите об этой ошибке» в стиле Watson.Я работаю на Windows XP и никогда не видел, чтобы Delphi IDE делала это раньше.На фрейме даже нет моих пользовательских компонентов, только некоторые стандартные компоненты Delphi VCL и несколько сторонних компонентов из библиотеки, которую я без проблем использовал годами.Я попробовал несколько других фреймов, находящихся в моем проекте, и все еще могу создавать их во время разработки без ошибок.

Обратите внимание, что я попытался полностью очистить все DCU проекта и перестроил несколько пакетов Delphi для своих пользовательских компонентов VCLна всякий случай, но эти усилия ничего не изменили.

У кого-нибудь есть какие-либо советы по диагностике и решению этой проблемы?

1 Ответ

3 голосов
/ 24 февраля 2012

Возможно настроить Delphi для отладки. Вы запускаете вторую копию Delphi и, возможно, сможете увидеть, где находится ваш код, и единственное, что я могу предположить, это внезапно возникшая проблема с кодом компонентов сторонних библиотек. Чтобы определить источник и номер строки этого сбоя, может быть полезен сам отладчик Delphi.

Просто запустите сторонний компонент с Delphi.exe в качестве исполняемого файла узла (для Delphi 6 и 7) или bds.exe (для более поздних версий Delphi). (В IDE с использованием параметров запуска в приложении хоста поместите delphi.exe или bds.exe)

Затем, после того как вы нашли источник исключения, исправили код и перекомпилировали пакеты компонентов, содержащие этот код, ваша проблема может быть решена.

Соответствующий ответ от меня

(Обратите внимание, что идея madExcept эквивалентна в том смысле, что она может также дать вам трассировку стека, чтобы помочь вам найти, какой код вызывает сбой, но в случае, если этого не произойдет, этот метод также полезен для ознакомления.)

...