我正在使用Delphi XE。我遇到了使用Delphi Soap的內存泄漏問題。它原來是由於TWSDLLookup.Destroy
失蹤。免費通話,如QC 91160Delphi XE TWSDLLookup.Destroy方法中的內存泄漏
描述了我的問題是所描述的變通,這僅僅是爲了增加FLookup.Free
到TWSDLLookup.Destroy
方法。
我不想更改Delphi源代碼,所以我嘗試將該單元複製到我的項目文件夾,進行更改並重新編譯,如湯姆的答案中所述here。這種技術的問題是,它顯然只有在你重新編譯所有依賴單元時纔有效。我試圖複製只是WSDLLookup.pas
我的項目目錄,我得到一個Stackoverflow錯誤。我不熟悉Web服務/ SOAP,所以如果我使用這種技術,我不知道應該複製哪些其他單元。
Rob Kennedy在同一頁上的回答描述了一種涉及代碼掛鉤的不同技術 - 但它似乎不適用於對象方法。我按照他的建議完成了這些工作,並下載了TNT Unicode控制的免費代碼並找到了相關的程序,但我一直無法找到關於如何掛鉤對象方法的信息 - 如果這確實是可能的話。如果我可以這樣做,那麼我會鉤住TWSDLLookup.Destroy
並添加FLookup.Free
呼叫。
如何解決這個問題的任何想法將不勝感激。我是一個新手程序員,所以我希望我錯過了明顯的東西?
感謝您的快速回復:) –
我看到了一些可能使用調試dcus會導致問題 - 可能這就是爲什麼我的堆棧溢出。或者,也許我有另一個錯誤。 –
無論如何,再次感謝。既然它確實有效,我會試着找出我在做什麼錯誤:) –