Почему Indy 9 включен в Delphi 2009? Безопасно ли его использовать?

Почему существует папка Indy9 (папка установки по умолчанию C:Program FilesCodeGearRAD Studio6.0sourceIndy содержит подкаталоги для "Indy9" и "Indy10") почему установлены обе версии? Что используя Indy9? Я не думал, что он был обновлен для 2009...Indy9 теперь безопасен для использования с Delphi 2009?

5 ответов


есть открыть отчет о QC об этом, но это видно только для QC sysops.

статус "открыть" обычно означает, что принято, что это ошибка, а не по дизайну.

Реми Лебо - один из разработчиков Indy -сказал:

установщик 2009 поставляется с Indy 9 исходный код, но это не выбирается во время установки. Есть примечание в документации что инди 9 при необходимости можно установить вручную. Но имейте в виду, что Indy 9 не имеет обновлено до фактической поддержки 2009. На данный момент, я не уверен, если это будет.


есть некоторые изменения в Indy 9 (из версии 2007), так что он будет компилироваться под Delphi 2009 (несколько строк для изменения AnsiString), но на основе моих тестов он не работает. Он пытается, но не соединяется. Если вы хотите, я могу дать вам изменения, которые были добавлены для поддержки Unicode, но я не считаю, что их достаточно.

Я не могу ответить почему. Я мог бы предположить несколько причин, но у меня нет никакой инсайдерской информации.

Это безопасно использовать? YMMV. Есть много инди, поэтому могут быть некоторые части, которые отлично работают для вашего проекта. Даже простой тест с TIdTCPClient привел к ошибке сокета #11004 каждый раз. Же для TIdHTTP. Кажется, я пробовал MD5 ранее, и он просто получил мусор, но я не уверен в этом.

ответ: он был включен по ошибке (предположение), и его небезопасно использовать (на основе ограниченных тестов).

Это печально, потому что у Indy 10 тоже есть проблемы, и у меня есть некоторые устаревшие приложения, которые используют Indy 9.


Indy9 существует для совместимости. В Indy10 были некоторые изменения (ваш код, написанный против Indy9, может не компилироваться под Indy10), поэтому у вас есть возможность продолжать использовать Indy9 (я думаю, что установщик запрашивает и спрашивает, Какой Indy вы хотите использовать - по крайней мере, это было с D2007).

Update: хорошо, несколько человек правильно прокомментировали, что Indy9 не будет компилироваться с D2009 (из-за новой поддержки Unicode), поэтому я думаю, что не знаю, почему он там.


Я полагаю, что он был в исходном дереве, и был автоматически включен установщик.


имейте в виду, что исходные файлы не используются, если вы не скажете Delphi перекомпилировать их. Если у вас нет версии Enterprise, у вас даже не будет этих папок.