У меня есть компонент VCL, который работает на Delphi 7 до 10.3.Я сейчас портирую его на FMX.
Чтобы не поддерживать две кодовые базы, я буду использовать условные определения в своем источнике для разделения любого пользовательского кода FMX и VCL.Когда я компилирую компонент для распространения, сценарий будет выводить исходные файлы VCL или FMX.
Моя проблема заключается в том, чтобы заставить DCU VCL и DCU FMX сосуществовать в одной системе (для пользователей, у которых есть обаверсии VCL и FMX моего компонента), поскольку обе папки должны находиться по пути Delphi.
Другими словами, мои модули VCL называются: myunit1.pas, myunit2.pas и т. д.
И версии FMX: fmx.myunit1.pas, fmx.myunit2.pas и т. Д.
(В идеале я бы назвал VCL vcl.myunit1.pas, vcl.myunit2.pas и т. Д.Таким образом, версия компонента VCL будет видеть только файлы vcl .-. pas, а FireMonkey - только файлы fmx .-. pas. К сожалению, я не могу этого сделать, потому что тогда он не будет работать на более старых версиях Delphi).
Теперь, когда я компилирую приложение FireMonkey, оно пытается использовать исходные файлы без префикса fmx, вместо файлов fmx ._. Pas.Мне нужно «спрятать» исходную папку vcl, чтобы она скомпилировалась (не помогает переупорядочение путей Delphi).
Если есть другой способ заставить FireMonkey избегать использования файлов vcl?
(Боюсь, мне нужно будет написать скрипт, чтобы дать всем файлам новое имя, например, FMXmyunit1.pas, и обновить все ссылки во всех файлах).