![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#1 |
Форумчанин
Регистрация: 25.09.2008
Сообщений: 209
|
![]()
Каждый раз, отказываясь от использования какого-либо модуля в проекте, сталкиваюсь с проблемой. К примеру, в проекте использовался модуль DeletedUnit.pas, который потом был выкинут из проекта и мало того - физически удалён на жёстком диске
стартую проект, ручками все ссылки, куда дотянулся, убрал, запускаю, выходит строка вроде этой: [dcc32 Fatal Error] MyProject.dpr(48): F1026 File not found: 'D:\MyProj\DeletedUnit.dcu' всё бы понятно, но... с этим сообщением связано окно dpr-файла проекта (!), которое, собс-но, при выводе мессажа и становится активным курсор стоит на самом последнем объявлении формы то есть, в каком-то из модулей проекта в секции uses объявлен модуль DeletedUnit.pas, компилятору это не нравится, он говорит об этом, но при этом он не сообщает, в каком именно модуле обнаружилась эта проблема! каждый раз приходится стартовать поиск по всем файлам проекта, чтобы найти это злополучное объявление может, я что-то недопонимаю, может, куда-то нажать надо, и среда меня автоматически выкинет в это окно? ЗЫ описанная ситуация наблюдалась мною в Delphi 5,7, и остаётся в Embarcadero XE5 |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]()
Например использовать менеджер проекта, чтобы корректно "отказываться", далее делать Clear, а затем Build.
И не прописывать в uses файлы руками, и вообще не прописывать ссылки на модуль, из C:\1\2\3\4\5\6\7\88\9\90\7\6\\545\ когда проект на F:\4\5\3\\346\6 |
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 25.09.2008
Сообщений: 209
|
![]() Цитата:
но разве это избавит от необходимости в прописывать руками uses модулей имена используемых файлов? |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,434
|
![]() Цитата:
1. При обновлении IDE не придется прописывать 100500 путей в IDE (Рукож***во же не позволяет массово добавлять папки, да). 2. Проект всегда будет компилироваться. Заведите папку "_Dependencies" и там складируйте все модули/компоненты/классы (даже если сами что-то написали для всех проектов, то дублируте. Проект должен собираться влюбом случае, пускай там даже OLD version вашего супер-крутого класса), которые используются проектом. Затем просто дропните её в project manager(может даже подпапки, главное чтобы исходники/DCU видно было) и сохраните, IDE пропишет относительные пути, и все будет хорошо. Через тот же Projct Manager удаляйте зависимости, делайте Clean & build, IDE укажет вам на модули где надо почистить uses. P.S. А ещё там есть кнопка меню "Refactoring" вроде, просто склад возможностей для чего-то масового. Например изменить название константы во всем проекте сразу. И т.д. и т.п. вроде бы удаление модулей тоже есть. Последний раз редактировалось Человек_Борща; 08.06.2015 в 09:25. |
|
![]() |
![]() |
![]() |
#5 | |||||
Форумчанин
Регистрация: 25.09.2008
Сообщений: 209
|
![]() Цитата:
Цитата:
Цитата:
Цитата:
Хлопнул я его оттуда, перенёс в новую папочку, которую в путях не прописал После этого проект, есс-но, собираться перестал, я добавил его вручную. Всё заработало. Ура. Теперь я знаю, что эта форма была добавлена явно, и путь к ней в настройках компилятора не указан. я открываю один из модулей проекта, например, ufmTest. Привычно набираю посреди кода fmDelegate.Execute, на что выводится сообщение, что данная форма найдена, не добавить ли её в проект? Я говорю, добавить, у меня в модуле под implementation появляется строчка uses uFmDelegate; чистота эксперимента гарантирована. Я переключаюсь на другие модули и забываю о внесённых изменениях. Через некоторое время я понял, что модуль fmDelegate написан плохо, надо его выкинуть вообще из проекта, либо заменить на другой. Я удаляю fmDelegate в Project-manager, и что я вижу при попытке компиляции? Компилятор меня выкидывает в файл проекта (!) куда-то в конец, собщая: [dcc32 Fatal Error] mISS.dpr(47): F1026 File not found: 'D:\XE5\mISS\uFmDelegate.dcu' то есть умом я понимаю, что в каком-то из модулей осталась ссылка на удалённый модуль, например в виде "uses uFmDelegate;" но компилятор мне не говорит о том, в каком именно модуле! Единственное, что мне остаётся - это запустить поиск по папке по слову "uFmDelegate" - есть шанс, что имя уникально и мне не вывалит стотыщ ненужных результатов. ещё вариант - я напрягаю память, и вспоминаю, что fmDelegate я вызывал в ufmTest, я переключаюсь на модуль ufmTest, нахожу строку и удаляю вручную. Профит. Правда, как правило, вспомнить, где был описан тот или иной удалённый модуль - сложно. Цитата:
![]() в смысле, замена констант и переменных классов - пользуюсь постоянно, а для модулей нет ничего. Последний раз редактировалось AnTe; 15.06.2015 в 11:30. |
|||||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите как довести эту ошибку в Delphi 7,[Fatal Error] DBTables.pas(17):File not found : 'BDE.dcu'? | Vasyatko00019 | БД в Delphi | 2 | 09.12.2014 10:11 |
File not found '*.dcu' (делфи) | NewLamer&Programer | Помощь студентам | 1 | 11.01.2013 18:50 |
как исправить ошибку "File not found: 'IdTCPConnection.dcu'" | Даниил_глазко | Работа с сетью в Delphi | 4 | 02.11.2010 12:44 |
File not found: 'DBAdvEd.dcu' | fezilk24 | Общие вопросы Delphi | 2 | 16.06.2010 07:24 |
ошибка!File not found: 'mySQLDbTables.dcu' | Алёна | Общие вопросы Delphi | 6 | 05.12.2007 01:34 |