Один проект в Delphi 2007 не отображает имя процедуры в событиях инспектора среды IDE - PullRequest
1 голос
/ 28 апреля 2010

У меня есть проект Delphi в 2007 году, который не отображает имена процедур в событиях Инспектора объектов, таких как Form OnClose, OnCreate или OnShow в IDE. Код есть, и если вы нажмете на OnCreate (например), вы попадете в код, и IDE заполнит название процедуры. Однако при перезагрузке процедуры снова исчезают из IDE.

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

Я переместил это приложение в различные установки Delphi 2007, и оно реагирует одинаково, поэтому это не испорченная ситуация Delphi. Есть ли способ восстановить или исправить поврежденный проект, как этот? Любая помощь будет оценена.

Ответы [ 3 ]

2 голосов
/ 28 апреля 2010

Я бы попытался удалить все файлы и сохранить только файлы dpr и pas / dfm на случай, если это поврежденный файл проекта.
Я бы также дважды проверил, нет ли беспорядка наследования формы, так как я видел несколько похожих проблем с унаследованными обработчиками событий. (посмотрите на файлы dfm напрямую)

0 голосов
/ 29 апреля 2010

Delphi IDE использует ваш код без каких-либо предупреждений.

В частности: если у вас есть обратный вызов (например, «TMyForm.FormCreate»), связанный в dfm, и IDE обнаруживает, что тело функции пустое, при сохранении вашего модуля ide удаляет объявление и реализацию перед сохранением вашего файла.

Добавление чего-либо (даже простого "//") в тело функции предотвращает это: попробуйте набрать некоторый код или комментарий в вашей функции перед закрытием Delphi.

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

0 голосов
/ 28 апреля 2010

Попробуйте удалить все .DCU, закройте Delphi, перезапустите Delphi и перестройте проект.

...