2009-06-04 33 views
3

我知道這個問題已被問了很多次。我似乎有一點不同的問題。在我最初拋出異常之後的情況下,它工作正常(並且沒有;我沒有關閉異常)。所以我做了什麼是例外的,我只是轉貼:Indy「無法加載SSL庫」與德爾福2007/Apache

IdHTTP1.Post(.......

我已經把Apache的bin目錄中的libeay32.dll和ssleay32.dll都和在我的ISAPI DLL所在。目錄

任何人有什麼建議嗎?

回答

2

對於Indy,您需要一個特殊版本的OpenSSL庫。默認的OpenSSL庫不適合與Indy一起使用。

See also。也許你需要嘗試不同的版本,直到你找到合適的版本。

3

這錯誤意味着TIdSSLIOHandlerSocketOpenSSL.PassThrough屬性被設置爲TIdSSLIOHandlerSocketOpenSSL.Init()之前False(發佈到HTTPS URL時會發生)被調用到首先初始化SSL上下文

聽起來像一個錯誤。下一次你得到錯誤,你能抓住堆棧跟蹤嗎?

+1

這是。對不起,我似乎無法插入回車符。 :7761b08e kernel32.RaiseException +將0x58 :0113bb57 Call_HookedRaise + $ B3 :011f7bed TIdSSLContext.Create + $ 61 :011f7481 TIdSSLIOHandlerSocketOpenSSL.Init + $ 1D :011f7270 TIdSSLIOHandlerSocketOpenSSL.ConnectClient + $ 20 :012076e2 TIdCustomHTTP .CheckAndConnect + $ 7E :01207b2a TIdCustomHTTP.ConnectToHost + $ 3BE :01209426 TIdCustomHTTP.DoRequest + $ 152 :012064d7 TIdCustomHTTP.Post + $ 9F :01206899 TIdCustomHTTP.Post + $ D1 :012069ec TIdCustomHTTP.Post + $ 6C MyMain.SubmitIt – 2009-06-05 16:09:50

+1

鑑於堆棧跟蹤,有幾個可能的原因:1)OpenSSL的DLL文件不能在所有的被加載(你可以使用WhichFailedToLoad()來檢查); 2)加載OpenSSL,但mi_SSLeay_add_ssl_algorithms()函數失敗。 – 2009-06-05 21:24:26