Есть ли быстрый способ добавить Unit Scope к моим модулям Delphi?

Мы находимся в процессе переноса приложений Delphi XE2 на Delphi XE5 (у нас есть окно :) )

Мне интересно, следует ли в рамках переезда подумать о добавлении моей собственной единицы измерения в наши внутренние приложения. Этот вопрос предполагает, что это просто случай переименования единиц в Company.Unit.

Это так же просто, как использовать Переименовать в Менеджере проектов?

Я что-то упустил?


person Dan Kelly    schedule 30.09.2013    source источник


Ответы (2)


Это почти так просто. Вы можете использовать действие Переименовать в менеджере проектов, которое переименует файл, даст устройству новое имя и изменит ссылки в файлах .dpr и .dproj. Но это не приведет к переименованию ссылок в коде.

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

Если у вас не слишком много юнитов, то не составит большого труда внести изменения в менеджере проектов, а потом исправить все ошибки, которые вам выдает компилятор. Если у вас есть более крупный проект, вам может быть лучше написать сценарий изменения. Я ожидаю, что вы могли бы пройти 99% пути с помощью простого скрипта на основе регулярных выражений, который делал следующее:

  1. Обновите ссылки в файлах .dpr и .dproj.
  2. Измените имена файлов и имена модулей.
  3. Найдите разделы использования (разделы интерфейса и реализации) и обновите там ссылки.

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

person David Heffernan    schedule 30.09.2013
comment
Ваше здоровье! Кажется немного сумасшедшим, что переименование не затрагивает предложения uses... также кажется сумасшедшим, что вы не можете реорганизовать › переименовать использование... - person Dan Kelly; 30.09.2013

Я использую отличный инструмент с http://www.easy-ip.net (СКАНЕР ЗАВИСИМОСТИ УСТРОЙСТВА DELPHI). для этой задачи. Вы можете изменить имя устройства, и DUPS изменит все ваши пункты использования.

person Andreas Schachtner    schedule 01.10.2013