2009-04-20 4 views
3

Я несу ответственность за перенос приложения Delphi 2007 на C# и не имею абсолютно никакого опыта работы с Delphi. Мне интересно, в чем разница между двумя версиями Indy, которые Delphi включает в себя: Indy 9 и Indy 10. На данный момент я даже не знаю, что такое Indy. Кто-нибудь может мне помочь? Это просто разные версии библиотеки Delphi? Каковы последствия использования одного или другого?В чем разница между Indy 9 и Indy 10?

Спасибо!

+5

Это своего рода не по теме, но ваша компания делает две огромные ошибки. Во-первых, повторное создание рабочего программного обеспечения - очень плохая идея. (http://www.joelonsoftware.com/articles/fog0000000069.html) Во-вторых, если они абсолютно должны это сделать, им нужен кто-то, кто понимает как Delphi, так и C#, или готовый продукт практически гарантированно станет беспорядком. –

+0

Ну, я с тобой, что кто-то, кто знаком с обоими языками, должен делать конверсию, но с другой стороны я не согласен (для нашей конкретной проблемы) Да, программа работает, но она нуждается в обновлении время от времени, и наш магазин полностью отходит от Delphi. Здесь все меньше и меньше разработчиков, которые знают Delphi, поэтому для меня это имеет смысл. – JimDaniel

+0

Существует версия .Net Indy 10. Ваша задача портирования может быть намного проще, чем вы ожидаете. –

ответ

6

Инди является аббревиатурой Internet Direct, открытой - библиотека источников для работы в сети. Это чаще всего используется для выполнения связанных с Интернетом вещей, таких как отправка писем и многое другое.

Если вы портируете из приложения (например, Delphi 7), использующего Indy 8 или 9, вы найдете, что использование Indy 9 в Delphi 2007 будет более легким. Если вам все равно, используйте Indy 10, так как у него много существенных улучшений в библиотеке, а также есть большие архитектурные изменения.

1

Indy Delphi - это библиотека (Tкомпонент) для Delphi, представляющая истинную силу WinSock.It предоставляет компоненты для туннелирования, соединений TCP/UDP и многое другое.

http://www.indyproject.org Здесь вы найдете все, что вам нужно.

Indy 9 - это старая версия библиотеки Indy. Indy 10 вышел в 2008 году вместе с Delphi 2009. Вся структура библиотеки изменена в Indy 10.

На мой взгляд, Indy 9 был лучше.

+0

не так ли? ... hmm, .... * gg * – ulrichb

+0

Delphi 2006 поставляется с Indy 10. –

3

Посмотрите документацию Indy 10, в частности в разделах Что нового в версии Indy.Sockets 10 и Изменения в иерархии объектов

http://www.indyproject.org/docsite/html

3

Инди является Winsock оболочки, которая обеспечивает блокирование поведения сокета для сети/интернет программирования (FTP, Telnet, HTTP и т.д.)

Инди 10 является более новой версией от Инди 9, и в то время как изменения могут улучшить архитектуре, они удалили некоторые функции и перемещали вещи. Если ваша программа использует части, которые были перемещены или удалены, портирование на Indy 10 будет болезненным.

Если вы переезжаете с Delphi на C#, вы обнаружите, что версия C# для Indy ОЧЕНЬ отличается от версии Delphi. Ну, по крайней мере, когда я посмотрел на него.

3

Некоторые детали:

  • Indy10 является AFAIK уже в D2005, хотя версии D2005 и D2006 позволяют выбрать один для установки.
  • .... что не имеет значения, в любом случае всегда устанавливайте новейшие и самые лучшие, чтобы получить новейшие исправления.
  • Indy10 лучше внутренне, но поскольку они разделяют его на несколько модулей, новичкам часто приходится вручную их компилировать. Вряд ли способ работы Indy devels навязывается пользователям, что, на мой взгляд, излишне ретроспективно, так как все пакеты должны обновляться в целом на практике.
  • Indy10 переносится.Поддержка indy9 Kylix не была чем-то большим, чем взломом.
  • Оба работают с FPC/Lazarus, но Indy9 только на win32. Indy10 также в Unix, OS X, win64 и wince. На лазаресе порт Indy10, как правило, лучше.
  • В прошлый раз, когда я делал значительную работу с ним, примеры Indy10 были ниже, чем у indy9.
  • Indy10 погряз в могаре .NET и значительно меньше нулевой копии, чем indy9. Это ухудшилось за всю жизнь Indy10.
  • Некоторые из исходных целей Indy10 (например, поддержка волокна для очень высоких подключений) не были реализованы. В любом случае потребность в волокнах должна быть переоценена с гигантским увеличением (средней) доступной памяти, и я также не знаю, как Microsoft видит волокна в наши дни.
1

BorCon 2004 Programming Tracks содержит статью Чада Хауэра, Upgrading to Indy 10.

Аннотация: Эта сессия охватывает изменения, внесенные в Indy 10, и как быстро переносит существующий код. Он также охватывает преимущества Indy 10 и почему вы должны перенести свой код. В то время как производительность и другие демонстрации показаны, этот сеанс является практическим обзором, и не фокусируется на демонстрационном коде.

Содержание:

  • Обновление до Indy 10
  • Indy 10 Статус
  • Установка Параллельное версий
  • Совместимость
  • миграции
  • Основные изменения и дополнения
+0

+1 Это хорошая ссылка на хороший контент. Очень признателен. – Sam

+0

Ни одна из этих ссылок больше не работает. – nolaspeaker

Смежные вопросы