Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 825

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!У меня такой вопрос как правильно переименовать юнит в уже написанном многомодульном приложении.

GAZ Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: GAZ (статус: Посетитель)
Вопрос отправлен: 19 августа 2008, 07:18
Состояние вопроса: открыт, ответов: 2.

Ответ #1. Отвечает эксперт: Шичко Игорь

Здравствуйте, GAZ!
Если делать это вручную, то операция занимает несколько шагов.
Для примера: переименовать unit1 в unit15
1. Открыть проект, в нем модуль unit1. Первую строку
unit Unit1;
поменять на
unit Unit15;
2. Переименовать файлы unit1.pas, unit1.dfm, Unit1.ddp, Unit1.dcu, Unit1.~pas, Unit1.~dfm, Unit1.~ddp в соответственно unit15.pas, unit15.dfm, Unit15.ddp, Unit15.dcu, Unit15.~pas, Unit15.~dfm, Unit15.~ddp
3. Открыть модуль проекта, и строку
Unit1 in 'Unit1.pas' {Project1},
поменять на
Unit15 in 'Unit15.pas' {Form1},
4. Открыть по очереди все остальные модули и если где то используется Unit1 (т.е. присутствует строка Uses unit1;) поменять эту строку на Uses unit15;
Откомпилировать.
Если выскакивает ошибка File not found unit1.dcu значит в каком-то модуле ещё присутствует ссылка на использование Unit1 (uses unit1).
P.S. Рекомендация. перед проведением эксперимента сохранить все файлы проекта в отдельном каталоге (сделать копию каталога программы).

Ответ отправил: Шичко Игорь (статус: 9-ый класс)
Время отправки: 19 августа 2008, 07:55
Оценка за ответ: 4

Ответ #2. Отвечает эксперт: Feniks

Здравствуйте, GAZ!
В дополнении...
Сам модуль, который необходимо переименовать, лучше переименовывать средставми Делфи. Для этого используйте "Сохранить как..." или откройте окно Менеджера Проекта и там это сделайте. Тем более, если у вас не просто сам юнит, а еще и форма к нему. И лучше удалять старые .dcu файлы. Потом ручками Поиском и Заменой пройтись по всем модулям проекта и заменить старое название на новое.
Я когда-то в Д5 наступал на такие грабли.

P.S. Желаю удачи. Если помог, жмите +1 в репутацию. ;-)

Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 19 августа 2008, 10:22


Мини-форум вопроса

Всего сообщений: 5; последнее сообщение — 20 августа 2008, 18:11; участников в обсуждении: 2.
Dron

Dron (статус: Студент), 19 августа 2008, 10:34 [#1]:

Цитата:

Переименовать файлы unit1.pas, unit1.dfm, Unit1.ddp, Unit1.dcu, Unit1.~pas, Unit1.~dfm, Unit1.~ddp в соответственно unit15.pas, unit15.dfm, Unit15.ddp, Unit15.dcu, Unit15.~pas, Unit15.~dfm, Unit15.~ddp

Ну с этим Игорь, конечно, переборщил. Кроме *.pas, *.dfm больше вообще ничего хранить не нужно - это всё временные файлы. *.dcu можно оставить, конечно, но если его нет - не беда, перекомпилируется заново.

А вообще, вот то, чем я пользуюсь:
del /S *.~*
del /S *.dsk
del /S *.obj
del /S *.hpp
del /S *.ddp
del /S *.mps
del /S *.mpt
del /S *.bak
Создайте bat-файл с таким содержанием и назовите его, к примеру, clean.bat. Это быстрый способ удалить кучу ненужных файлов. В каталоге проекта станет заметно чище :-)
С уважением.
GAZ

GAZ (статус: Посетитель), 19 августа 2008, 17:57 [#2]:

Dron
del /S *.~*
del /S *.dsk
del /S *.obj
del /S *.hpp
del /S *.ddp
del /S *.mps
del /S *.mpt
del /S *.bak
Не могли бы вы пояснить более понятным языком
Dron

Dron (статус: Студент), 20 августа 2008, 08:33 [#3]:

Что именно пояснить? Вам интересно, как это работает?
Команда del удаляет файлы, параметр /S указывает на то, что сделать это нужно тихо, не выводя никаких сообщений или окон запроса. Ну а дальше просто перечислены маски тех файлов, которые не нужны.
С уважением.
GAZ

GAZ (статус: Посетитель), 20 августа 2008, 18:07 [#4]:

Dron
Простите за дилетанство,просто никогда не имел дело с bat-файл,как его создавать из проекта или...?Как подключать,если нет? Что значит я пользуюсь,только когда надо переименовать или...?
Dron

Dron (статус: Студент), 20 августа 2008, 18:11 [#5]:

bat-файлы ни к проекту, ни к Delphi вообще отношения не имеют. Создавать их проще всего в обычном Блокноте.
Если заинтересовались, рекомендую начать отсюда:
http://www.firststeps.ru/msoffice/win/bats/r.php?1
С уважением.

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:48
Выполнено за 0.02 сек.