[英]How do I tell Delphi to use the local project's Security.pas file rather than Winapi.Security.pas in DXS?
[英]How do I modify Indy 8 IdMessage.pas with Delphi 6?
我有一份Delphi 6和一個使用Indy TIdMessage
組件的簡單電子郵件程序。 我想刪除IdMessage.pas的第IdMessage.pas
行,然后重新編譯應用程序。 我很難找到清晰的文檔,所以我嘗試了這些步驟來修改組件:
\\delphi6\\source\\indy\\indy.dpk
IdMessage.pas
IdMessage.pas
並保存了該文件 但后來我得到一個錯誤, \\bpl\\indy60.bpl can't be loaded because \\bin\\indy60.bpl is already loaded
。 所以我在“組件”菜單中嘗試了“安裝包...”,但只找到了\\bpl\\dclindy60.bpl
。 所以我刪除了那個包,並且:
\\delphi6\\source\\indy\\dclindy.dpk
IDE確認已安裝所有組件(包括TIdMessage
),但電子郵件程序仍然表現為原始未修改組件仍在使用中。
我究竟做錯了什么?
如果您使用的是運行時包,那么您需要確保程序找到新的包文件.bpl。
但您可能沒有使用運行時包。 因此,運行時程序使用位於Delphi安裝文件夾中的.dcu文件靜態鏈接Indy代碼。 具體在本例中為<ProgramFiles>\\Borland\\Delphi6\\Lib\\IdMessage.dcu
。 您需要確保鏈接新代碼。 最簡單的方法是將修改后的文件添加到項目中。 這意味着修改后的版本會被編譯並鏈接到您的程序中。
由於您的修改位於設備的實施部分,因此您需要做的就是這些。 如果修改在接口部分,您將遇到“單元X使用不同版本的單元Y編譯”錯誤。 您可以通過將其余的Indy源添加到項目中來解決這個問題。
需要強調的一點是,您永遠不應該修改Delphi安裝文件夾下的文件。 如果要對這些組件進行修改,請復制這些文件並對這些副本進行修改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.