Продолжайте поддерживать разные версии программного обеспечения, каждое из которых построено на разных версиях Delphi или компонентов - PullRequest
4 голосов
/ 05 октября 2010

Мне нужно поддерживать разные версии программного обеспечения, проблема заключается в следующем:

  1. v 1.0 - Delphi 7 - DevExpress build 20 - TeeChart 5

  2. v 2.0 - Delphi 2005 - сборка DevExpress 40 - TeeChart 7

  3. v 2.1 - Delphi 2009 - сборка DevExpress 52 - TeeChart 8

  4. v 3.0 - Delphi 2009 - DevExèress build 53 - TeeChart 2010

(конечно, это пример)

Какое решение вы предлагаете?Теперь я использую виртуальные машины и делаю снимки. В любом случае это означает, что на практике у каждой версии программного обеспечения одна версия Windows.

Что еще можно сделать?Обычно старые версии необходимо поддерживать только для исправления ошибок, а не для новых разработок.

Я добавил (4), это дополнительная проблема, поддерживая ту же версию Delphi с различными версиями компонентов.Кажется, что Снимок Виртуальной Машины - все еще самый удобный способ работать без многих компромиссов.Конечно, проблема заключается в сложности, предоставляемой сторонними библиотеками, а не самим Delphi.

Ответы [ 5 ]

2 голосов
/ 06 октября 2010

Лично я думаю, что вы уже работаете с лучшим решением для своих виртуальных машин.

Прежде чем я начал использовать разные виртуальные машины для своих проектов, я использовал параметр командной строки Delphi "-r" для загрузки разных наборов компонентов для разных проектов в одной и той же среде IDE.

Существует также инструмент Диспетчер конфигурации Джеда , который упрощает это.

2 голосов
/ 05 октября 2010

Если вам не нужно много визуального дизайна в старых версиях вашего приложения, вы можете использовать наш подход:

  • У нас есть несколько установок DX: текущая плюс старые установки, которые мыпо-прежнему необходимо.Правильно установлен только текущий, т.е. только IDE «знает» текущий.
  • В текущей версии вашего проекта мы используем текущую установку DX (как в новом проекте).
  • Для более старых версий мы используем соответствующую копию, т.е. указываем путь поиска проекта на одну из более старых копий.Это означает, что IDE и наш исходный код используют разные версии DX!Однако это никогда не было для нас большой проблемой, потому что нам не нужно много визуального дизайна в старых версиях нашего приложения.

Если вы визуально редактируете форму с компонентами DX в одном изв более старых версиях среда IDE будет выдавать DFM, соответствующие текущей установленной версии DX, отличной от используемой в вашем старом приложении.В этом случае я просто сравнивал бы текстовые DFM до и после редактирования и проверял, не было ли что-то испорчено.Если это так, просто исправьте Borken DFM с помощью текстового редактора.

2 голосов
/ 05 октября 2010

Обычно я использую инструмент JVCL для очистки свойств, добавленных в более новые TCharts, и это прекрасно работает.(смешивание D7 - TD2006 - D2007 - D2009 - Delphi XE).

См .:

1 голос
/ 05 октября 2010

Технически возможно использовать несколько версий Delphi на одном компьютере. Это просто съедает много дискового пространства. И вам нужно убедиться, что каждая версия смотрит на свои собственные настройки папок для библиотек компонентов и проектов. Так что вы можете оставить их все установленными. (Просто установите их в том же порядке, что и версии, поэтому сначала Delphi 7, затем 2005 и, наконец, 2009.)
Сейчас у меня 2005 и Delphi XE установлены в одной системе без каких-либо конфликтов. Так же, как каждая версия Delphi имеет свой собственный набор папок со сторонними компонентами и другими материалами. (Хотя несколько надстроек, таких как GExperts, будут работать для любой установленной версии Delphi.)
Есть ли причина, по которой вам не нужны эти три версии на одном компьютере?

0 голосов
/ 06 октября 2010

Чтобы поддерживать разные наборы библиотек с одной и той же версией Delphi, вы можете использовать параметр -r для переключения «корня реестра», который использует Delphi.

В этом блоге показано, как это сделать.

- Йерун

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...