Почему существует папка Indy9 (папка установки по умолчанию C: \ Program Files \ CodeGear \ RAD Studio \ 6.0 \ source \ Indy содержит подкаталоги для «Indy9» и «Indy10») Почему установлены обе версии? Что использует Indy9? Я не думал, что он был обновлен для 2009 года ... теперь Indy9 безопасен для использования с Delphi 2009?
Почему Indy 9 включен в Delphi 2009? Насколько безопасно использовать?
Ответы (5)
Об этом есть открытый отчет QC, но он виден только Сисопы контроля качества.
Статус «открыто» обычно означает, что это ошибка, а не намеренная ошибка.
Реми Лебо - один из разработчиков Indy - сказал это:
Установщик 2009 поставляется с исходным кодом Indy 9, но его нельзя выбрать во время установки. В документации есть примечание, что Indy 9 при необходимости можно установить вручную. Но имейте в виду, что Indy 9 не был обновлен для поддержки 2009 года. На данный момент я не уверен, будет ли оно обновлено.
В Indy 9 (по сравнению с версией 2007 года) есть некоторые изменения, так что он будет компилироваться под Delphi 2009 (несколько изменений String в AnsiString), но, судя по моим тестам, это не работает. Он пытается, но не подключается. Если хотите, я могу дать вам изменения, которые были добавлены для поддержки Unicode, но я не верю, что их достаточно.
Я не могу ответить почему. Могу предположить несколько причин, но у меня нет никакой инсайдерской информации.
Насколько безопасно использовать? YMMV. В Indy много чего, поэтому могут быть некоторые части, которые подходят для вашего проекта. Даже простой тест с TIdTCPClient каждый раз приводил к ошибке Socket Error # 11004. То же самое для TIdHTTP. Похоже, что я пробовал MD5 раньше, и он получил мусор, но я не уверен в этом.
Ответ: Он был включен по ошибке (предположение), и его использование небезопасно (на основе ограниченных тестов).
Это прискорбно, потому что у Indy 10 тоже есть проблемы, и у меня есть несколько устаревших приложений, которые используют Indy 9.
Indy9 существует для совместимости. В Indy10 произошли некоторые критические изменения (ваш код, который был написан против Indy9, может не компилироваться под Indy10), поэтому у вас есть возможность продолжить использовать Indy9 (я думаю, что установщик запрашивает и спрашивает, какой Indy вы хотите использовать - по крайней мере, он сделал с D2007).
Обновление: Хорошо, некоторые люди правильно прокомментировали, что Indy9 не будет компилироваться с D2009 (из-за новой поддержки Unicode), поэтому я думаю, я не знаю, почему он там.
Я предполагаю, что он был в дереве исходных текстов и был автоматически включен установщиком.
Имейте в виду, что исходные файлы не используются, если вы не укажете Delphi их перекомпилировать. Если у вас нет версии Enterprise, у вас даже не будет этих папок.