Почему Delphi говорит: «Не удается разрешить имя устройства xxx»? - PullRequest
11 голосов
/ 24 ноября 2010

Я работаю с Delphi2010 Enterprise Update 4.
Когда я открываю свой проект в IDE и отображаю код основной формы, 2 названия единиц подчеркиваются красным .

ххх http://img268.imageshack.us/img268/6475/unitnameunresolved.png.

У меня подтверждено , что путь к источнику устройства находится в Library path и в Browsing path.

Удивительно, но когда я щелкаю правой кнопкой мыши по блоку и выбираю Open file at cursor, он работает (т. Е. Delphi открывает нужный блок).

Есть идеи по этому поводу?

Ответы [ 5 ]

8 голосов
/ 24 ноября 2010

Error Insight, который сохраняет все сообщения об ошибках в представлении структуры, довольно глючит. Он не понимает ваш код так, как его понимает компилятор.

Существует IDE Fix Pack, разработанный Андреасом Хаусладеном , который уменьшает число тех проблем "Не удается решить юнит xyz".

Это не исправляет ошибку, но делает их менее заметными, решая некоторые проблемы многопоточности Error Insight.

2 голосов
/ 24 ноября 2010

Из любопытства, есть ли какой-нибудь код в AdPort и / или AdStatLt, который подлежит условной компиляции?

Синтаксический анализатор, лежащий в основе Error Insight, я считаю отличным (физически и контекстуально) от компилятора.Компилятор может понять те условные области компиляции, которыми не является Error Insight.

С моей стороны это всего лишь предположение, но Error Delight значительно улучшена в Delphi 2010 и обычно теперь подавляется только тогда, когда естьошибки в моем коде, которые мне еще предстоит устранить.

1 голос
/ 24 января 2012

Я сбрасываю путь к библиотеке в разделе tools \ options \ environment options \ delphi options \ library.

Щелкните по раскрывающемуся окну и повторно выберите ваш ОС, и он сбросит путь к библиотеке. Работал на меня.

1 голос
/ 24 ноября 2010

Закрытие и повторное открытие проекта обычно помогает избавиться от большинства из этих ошибок.Попробуйте ...

(Это не меняет того факта, что в настоящее время это, вероятно, мое раздражение номер один в IDE ...)

0 голосов
/ 08 июня 2019

Просто отключите Error Insight (Инструменты -> Параметры -> Параметры редактора -> Code Insight, снимите флажок Error Insight). У меня отлично работает.

Источник: http://codeverge.com/embarcadero.delphi.ide/cannot-resolve-unit-name-forms/1041789

Это только косметическая проблема, которая не влияет на ваше приложение в любым способом.

Это вызвано ошибкой в ​​компиляторе, используемом для Error Insight ( функциональность, которая дает вам волнистые красные линии), который не является тот же компилятор, используемый для создания вашего приложения или для компиляции из командная строка. Ошибка существует с тех пор, как Error Insight была первой представил. (Это стало менее частым, хотя; раньше первое, что я бы сделал, когда установил Delphi, это отключил Ошибка Insight, и я не должен был делать это ни с D2007, ни с D2009 поскольку проблема очень редкая и, кажется, не длится долго по любой причине.)

Поскольку проблемы действительно нет (кроме косметической проблемы), вы можете либо проигнорировать его, либо избавиться от него, отключив Error Insight (Сервис -> Параметры -> Параметры редактора -> Code Insight, снимите флажок Error Insight).

...