Скомпилируйте код Delphi 5 в Delphi 2009 - PullRequest
2 голосов
/ 30 ноября 2009

Можно работать с проектом Delphi 5 в IDE Delphi 2009, ссылаясь на версию dcc32 для Delphi 5?

Если да, есть ли какие-либо проблемы, которые необходимо учитывать в отношении того, как настройки проекта (пути поиска, условные определения и т. Д.) Были реализованы в 2009 году?

Редактировать: просто чтобы уточнить, я также обновляю проект до Unicode, но все равно нужно будет отлаживать и запускать релизы в старой конфигурации

Ответы [ 3 ]

6 голосов
/ 30 ноября 2009

Это зависит от того, чего вы пытаетесь достичь, и какие ограничения вы готовы принять.

Насколько я знаю, вы не можете использовать среду разработки Delphi 2009 для непосредственного сопровождения проектов Delphi 5. Например, даже если вы придерживаетесь функциональности, которая является общей для этих двух функций, некоторые свойства, которые не поддерживаются в Delphi 5, записываются в ваши DFM, вызывая ошибку во время выполнения.

Я поддерживал проекты и библиотечный код, которые были написаны в Delphi 2005/2006/2007, который также использовался в Delphi 6/7. Я обычно редактировал и отлаживал их, используя последнюю IDE. У меня были отдельные файлы проекта для каждой целевой версии, и я убедился, что все они используют один и тот же менеджер памяти . Наконец, у меня был автоматизированный процесс сборки и модульные тесты, которые удаляли бы несовместимые свойства из DFM (мой собственный DFM Scrubber), следили за тем, чтобы все цели всегда компилировали и запускали модульные тесты, которые также перекомпилируются для каждой цели.

В общем, это больше усилий, и я бы не рекомендовал его, если у вас нет особых требований для этого.

1 голос
/ 30 ноября 2009

Вы либо переносите свой код на уровень Delphi 2009/2010 (Unicode), либо можете не устанавливать продукт.

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

Прочитайте информацию о переносе (переносе) Unicode Delphi, доступную на веб-сайте.

Спрашивайте себя каждый раз, когда вы видите PChar и Char, должен ли он быть PAnsiChar или AnsiChar вместо этого? Если вы читаете байты с диска, ком-порта или сетевого подключения, вам нужно будет перейти с Char на AnsiChar, с PChar на PAnsiChar, иначе вы можете просто оставить Char и PChar такими, какие они есть, и они станут Unicode. Всегда помните, что Char больше не является байтом.

Вы также должны заменить явные ссылки на узкие вызовы Win32 API версиями без суффикса A (ansi). Пример: CreateFileA, возможно, должен стать просто CreateFile.

W

1 голос
/ 30 ноября 2009

Нет. Тем не менее, это все еще Delphi, и при условии, что у вас есть исходные версии или версии D2009 любых пользовательских компонентов, их можно изменить для компиляции в Delphi 2009. Компоновка VCL сильно изменилась со времен D5, поэтому ожидайте, что вам придется изменить свою uses пунктов и, возможно, переписать некоторые небольшие куски здесь и там, но это выполнимо.

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