| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Проблема с добавлением модуля в проект |
| Автор: Saddam 12.11.2007, 17:06 |
| Добрый день, проблема вот в чем... Есть довольно крупный проект, созданный в BDS 2006. В него включено большое число форм. При импортировании одной из них возникла ошибка по причине того, что находившийся на форме компонент не был установлен в среде разработки. Его установка и не планировалась, поэтому его исходник был подправлен с целью избавиться от этого компонента. DFM-файл также пришлось немного подправить вручную. Далее, файл был удален из проекта и импортирован заново, но возникла вот такая вот ошибка "The project already contains a form or module named [имя модуля]", причем сам PAS-файл в проект добавился и открылся. Более того при нажатии на F12 общий вид формы отображается, что означает что DFM тоже подключился к проекту. Проект билдится и работает, но в Project Manager нет "плюсика" с приложенным к модулю DFM-файлом. (см. приложенный рисуночек). При повторном удалении модуля из проекта он якобы удаляется успешно и из списка и из файла проекта но при сборке я получаю вот такое вот сообщение (уже после компиляции на этапе Линковки) : File not found '[имя модуля].DFM' А зачем его искать, если я уже удалил его из проекта? Такое ощущение, что он осел где-то в ресурсах среды и вовсе не удаляется из проекта... как вылечить? Может у кого такое случалось? P.S. Если добавлять данный модуль предварительно сменив ему имя - всё впорядке, есть и PAS и DFM, но переименовывать не хочется, так как другие файлы на него уже ссылаются. P.P.S Знакомый говорил что у него на Delphi 5 такие же точно проблемы были, но он их так и не решил. |
| Автор: Snowy 12.11.2007, 17:17 |
| Отсутствие плюсика - ошибка анализа кода средой, которая вполне может быть вызвана некорректным исправлением. Что касается сообщения о "не найден" - не имеет значения, подключен файл к проекту или нет. Если другие модули на него ссылаются, он включается автоматически, о чём Delphi сообщает варнингом в логе сборки. |
| Автор: Saddam 13.11.2007, 10:22 | ||
2Snowy: Исправлений в модуле и DFM было минимум - всего 1 строка, в корректности которых я убеждаюсь, если переименую модуль и подключу его к проекту. Всё работает. А если вернуть ему старое имя, он подключается "криво" (так, как я описал в 1 посте). Есть ли способ исправить эту ошибку? Или всё же прийдется включать его в проект с новым именем... |
| Автор: Snowy 13.11.2007, 12:48 |
| Убрать из проекта. Стереть dcu файл. Добавить в проект только pas. Убедиться, что в pas есть строка {$R *.dfm} Сбилдить проект. (build, не compile). |
| Автор: Saddam 13.11.2007, 15:30 |
| Попытался, вот что вышло: 1. Убрал модуль из проекта. 2. Удалил файл DCU. 3. Добавил в проект файл PAS - При добавлении файла возникла ошибка, которую я уже получал ранее (см. приложенную картинку) - Файл всё равно добавился в проект но без прикреплённой DFM под плюсиком (см. картинку в моем посте №1) 4. Строка {$R *.DFM} в модуле всегда присутствовала и продолжает присутствовать. 5. Проект билдится и работает, но от описываемой баги я так и не избавился, этот модуль без DFM-ки продолжает мозолить глаза :( Кстати, Вы написали, что нужно добавить в проект только PAS, а BDS по идее сразу отыскивает рядом DFM-файл и добавляет его тоже. Поэтому я повторил опыт, переименовав на время DFM-файл, чтобы добавить один лишь PAS-файл. Результат - при добавлении PAS-файла возникла ошибка: Error creating form: Cannot open file "[путь к модулю]\[имя модуля].DFM" не удается найти указанный файл. Вот такие дела... Есть еще идеи? |