Перейти к содержанию
Fire Monkey от А до Я
  • 0

Мусор при развёртывании приложений


Pulsarius

Вопрос

Привет, форумчане! Я уже как-то задавал подобный вопрос, но видимо никто не сталкивался с этим. Может быть сейчас кто-нибудь столкнулся. Эта проблема качует из версии в версию и никто не исправляет это, а может быть я что-то не всё правильно делаю. Конкретнее, я в своём проекте использовал TcxPageControl от DevExpress и TFDConnection, TFDQuery от FireDAC. Теперь я удалил эти элементы из своего проекта, совершенно нигде не использую TcxPageControl и приложение у меня теперь не коннектится напрямую с базой данных. Вручную почистил все #include и #pragma link, но линковщик C++ Builder мне всё равно усердно впихивает cxPageControlRS25.bpl и firedac250.bpl в exe-шник. Если делать Deployment на удалённую машину с динамическими зависимостями от рантаймов, то соответственно туда тоже копируются эти ненужные cxPageControlRS25.bpl и firedac250.bpl. Открыл проект *.cbproj как текст и увидел там эти самые названия. Можно конечно вручную тоже их поудалять, но есть ли какой-то адекватный способ удаления зависимостей от уже ненужных библиотек, что бы вручную не выкосить что-нибудь лишнее? Это я как пример всего две bpl упамянул, а на самом деле там больше, ведь DevExpress и FireDAC там за собой тащат ещё кучу всяких bpl, типа там dxCore.bpl, datadb.bpl и т.п. Вот и происходит такая мусорка в скомпилированном файле и размер соответственно напрасно большой делается. В Visual Studio я с подобным не сталкивался.

Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Ничего в этом плане с 7 версии не изменилось. Единственный надёжный что-то вычистить в студии способ - это far, alt+7, *.*, и искать все упоминания в данном случае файлов от DevExpress/FireDAC...

Эта проблема из той же серии, что когда проект копируешь в другую папку, и начинаешь там без предварительной подготовки что-то править, то правишь старые файлы а не скопированные. Подобных ммм... "фишек" у студии куча. Надо или мириться, или переходить на что-то другое. В последней версии (10.2-10.2.2) они даже ctrl+пробел сломали, а Вы  про автоматическую прочистку лишних bpl. :D
 

Ссылка на комментарий
  • 0

Сейчас внимательно всё проверил и заметил, что компилятор C++ Builder не такой уж и глупый. Если посмотреть каким-нибудь PE Explorer'ом, то исполняемый файл не содержит ссылок на неиспользуемые bpl, если компилить с динамическими рантаймами, и не содержит их внутри, если компилить со статическими рантаймами. Это Deployment Manager и Project Information делают выводы об используемых bpl, видимо, исходя из cbproj файла, а не из анализа скомпилированного исполняемого файла, что, по-моему, несовсем корректно.

Ещё заметил такую неприятную вещь, исходя из опыта работы с другими IDE. У Embarcadero замечательные графические и неграфические библиотеки, которые очень ускоряют разработку софта и, как мне кажется, ни одна другая библиотека других фирм, не сравнятся с RAD Studio, плюс ещё и кроссплатформенность появилась. Но почему редактор кода-то такой отсталый? Напоминает нулевые года и вот почему:

1. Не высвечивает подсказки корректно, например, я пишу "TStringBuilder *builder = new ..." и разумеется логично в первой позиции подсказки предложить "new TStringBuilder()", но нет же, высвечивается всё, что угодно, но только не то, что по логике нужно.

2. Я считаю, что посказки должны показываться автоматом по первым символам, как в других IDE, а не по ручному нажатию "Ctrl + Space".

3. Поля и методы шаблонов и контейнеров STL вообще не подсвечивает, а это  основа!

4. При требовании подсказки редактор может вообще задуматься на несколько секунд. Что там можно искать у класса из 3-х полей и 3-х методов, который объявлен в рядом лежащем файле?!

5. Почему, когда в хидере объявляешь метод, он автоматом не создаётся в сорс файле, а всё приходиться печатать вручную, как-будто кодишь в обычном текстовом редакторе?

6. При желании перейти от объявления метода к реализации или наоборот может перекинуть куда-нибудь не туда, либо вообще не отреагировать. В худшем случае "упасть".

7. Не предлогает переименовать все ссылки, если переименовывешь переменную или класс.

8. Зачем мне показывать хидер, где объявлен метод, когда я навожу мышкой на него, а не его сигнатуру, что тоже логичнее?

9. Бывает вообще никаких подсказок не выдаёт. Это когда что-то не дописал, решил вернуться чуть-чучть назад кое-что подправить, и всё, фиг с маслом. Для чего эта блокировка подсказок при якобы одной хотя бы ошибки? Или не высвечивает в таком случае "dynamicArray[dyn...]", а хочеться написать "dynamicArray[dynamicArray.Length - 1]".

Всё, что я привёл здесь в пример, в других IDE это давным давно уже это не новость и всё давно подсвечивается и подставляется. Это в Visual Studio, Qt Creator, CLion и других, даже в не сишных (IntelliJ IDEA, PyCharm, NetBeans и т.п.) и небольших IDE. Интересно, редактор кода RAD Studio дорастёт когда-нибудь тоже до такого?

Ссылка на комментарий
  • 0
6 часов назад, Pulsarius сказал:

Всё, что я привёл здесь в пример, в других IDE это давным давно уже это не новость и всё давно подсвечивается и подставляется. Это в Visual Studio, Qt Creator, CLion и других, даже в не сишных (IntelliJ IDEA, PyCharm, NetBeans и т.п.) и небольших IDE. Интересно, редактор кода RAD Studio дорастёт когда-нибудь тоже до такого?

Если хочется "сахара", то это не к RAD Studio! Дорастет или не дорастет - это риторический вопрос! На вкус и цвет....Лично меня все устраивает!

Ссылка на комментарий
  • 0
2 часа назад, wamaco сказал:

Лично меня все устраивает!

Может быть всё таки что-то не устраивает, просто продукт не имеет аналога на рынке, поэтому приходится мириться "со сложностями"?
 

Ссылка на комментарий
  • 0
21 час назад, Akad сказал:

Может быть всё таки что-то не устраивает, просто продукт не имеет аналога на рынке, поэтому приходится мириться "со сложностями"?
 

Отнюдь! Всегда существует несколько вариантов решения задачи.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...