2011-10-26 51 views
1

我得到這樣的錯誤:Delphi 5 Indy/ics SSL解決方法?

「IndyProtocols5不使用或支持IdSSLOpenSSLHeaders。」

嘗試與我Delphi5安裝的Indy 9或10,並且注意到它的時候是一個問題其他。這將導致異常:

使用IdHttp.IOHandler時 「無法加載SSL庫」

我繼承的應用程序包括如此多的不受支持的D5組件,升級到D6 +不幸超出了我的技能。我想最初使用Indy發佈和下載CSV,但也可能會調用Web服務。

是否有一個已知的解決方法,或者我應該開始尋找其他選項,如可能仍然與D5工作的ICS。

感謝

+0

你不需要任何技能從D5升級到D2007。不過,升級到D2009及更高版本需要將代碼升級到Unicode。 –

+0

您正在使用哪種Indy版本(當前是10.5.8)? – mjn

+0

@mjn當我運行FullD5.bat時,由於上述IndyProtocols5錯誤,我無法獲取最新的Indy10快照10_4690進行安裝。使用Indy9.0.17,我可以安裝它,並且可以編譯對象,但運行時會得到「無法加載SSL庫」。 – notidaho

回答

0

我複製了他的解決方案SSLOptions.Method:= sslvSSLv23從INDY 10.1.5 - Which SSL dlls work with Delphi 2006?它停止了錯誤。這是最新的Indy9版本。

我不知道sslvSSLv23的意義,仍然不知道爲什麼Indy10沒有安裝,但我會看到我如何與Indy9相處。

0

的印SSL支持所有版本需要OpenSSL庫LIBEAY32.DLL和ssleay32.dll。 (http://www.indyproject.org/Sockets/SSL.EN.aspx)

舊版本的Indy需要定製的SSL庫。舊的應該在這裏工作:http://indy.fulgan.com/SSL/Archive/

+0

我試着將這個檔案中最新的.dll複製到我的應用程序目錄中,但它沒有任何影響。然後,我使用ZIP/SSL.zip中標記爲indy_openssl096b的.dlls文件,並將錯誤更改爲「使用SSL連接時出錯」。這篇文章http://stackoverflow.com/questions/1874677/indy-10-1-5-which-ssl-dlls-work似乎表明我需要改變SSLOptions.Method,但我不明白他的解決方案 – notidaho

+0

@notidaho ,你評論中的帖子意味着如果你得到'無法加載SSL庫',你有'OpenSSL'庫的不兼容版本,如果你得到'錯誤連接SSL',那麼你正嘗試連接到主機使用錯誤版本的SSL協議,並且可以通過屬性SSLOptions.Method來設置。 – TLama

+0

@TLama是的,我複製了他的解決方案SSLOptions.Method:= sslvSSLv23,它似乎停止了錯誤。任何人都可以告訴我v23的重要性嗎?現在我需要實際上d /升csv按照我原來的帖子:http://stackoverflow.com/questions/7895790/download-csv-in-delphi-5-with-indy謝謝 – notidaho