[安装 Delphi XE 的 Indy]
是的,安装过程很繁琐,但为了确保正确安装,这值得一做。
本文适用于所有 Indy 组件,不包括 SSL。(我还没有尝试任何 SSL 相关内容。)
A.) 删除所有随 Delphi 一起提供的 Indy 文件。这些文件已经过时,因为 Indy 项目每天都会更新,修复bug。如果Delphi读取旧文件而不是新的 Indy 库,IDE 将在各种时间产生非常难以追踪的错误。
i. 转到“组件”->“安装包”,然后完全删除所有以“Indy”开头的包。
ii. 关闭 Delphi。
iii. 在 Delphi 的 Bin 文件夹中删除匹配“dclIndy*.bpl”和“Indy *.bpl”的所有文件。
(C:\Program Files\Embarcadero\RAD Studio\8.0\bin)
iv. 在 Delphi 的 Lib 子文件夹中删除匹配“Indy*.dcu”和“Id*.dcu”^^^ 的所有文件。
(C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\debug)
(C:\Program Files\Embarcadero\RAD Studio\8.0\lib\win32\release)
^^^ 注意:要小心那些以字母“id”开头的非 Indy DCUs,例如“idispids.dcu”和“idoc.dcu”。
v. 删除整个 Indy10 源文件夹:
(C:\Program Files\Embarcadero\RAD Studio\8.0\source\Indy10)
B.) 从http://indy.fulgan.com/ZIP/下载最新的 Indy10_XXXX.zip。(如果在任何步骤中使用此 zip 文件出现编译错误或运行时错误,请尝试其他版本。)
如果下载ZIP文件时遇到问题,请不要气馁!在接下来的一天重新下载ZIP文件并尝试。
C.) 将系统、核心和协议文件夹提取到您自己的Indy库文件夹中,例如:
(c:\MyDelphiComponents\Indy\Core)
(c:\MyDelphiComponents\Indy\System)
(c:\MyDelphiComponents\Indy\Protocols)
D.) 启动Delphi。忽略所有失败的包对话框:这些是依赖Indy的Embarcadero包!(只需单击所有错误上的确定,并指示任何失败的包不应再次加载。)
E.) 转到"选项-->环境选项-->Delphi选项-->浏览路径",删除以$(BDS)\Lib\Indy10开头的路径。
F.) 转到"选项-->环境选项-->Delphi选项-->库路径",将步骤C中的新系统、核心和协议文件夹添加到Delphi的库路径中。
G.) 按顺序执行以下5个操作:
(对于任何关于升级项目的对话框,只需单击"确定"即可。)
重要提示:
在加载每个dpk之后和每次构建之前,请执行以下操作:
项目-->选项-->描述-->构建控制
将单选按钮设置为"显式重建"。
(实际上,这是可选的,但我总是使软件包显式重建,因为它们似乎更容易处理,但我想听听其他人对此的看法...)
- 构建- System\IndySystem150.dpk
- 构建- Core\IndyCore150.dpk
- 首先构建,然后安装- Core\dclIndyCore150.dpk
- 构建- Protocols\IndyProtocols150.dpk
- 首先构建,然后安装- Protocols\dclIndyProtocols150.dpk
然后安装Protocols\dclIndyProtocols150.dpk
** 确认你已经在所有包上设置了“显式重建”! **
H.) 最后,进入 Component-->Install Packages 并找到所有依赖于 Indy 的包,这些包在步骤 D 中被关闭。重新激活它们,并重新启动 Delphi。
(如果您的新 Indy 与 Delphi 发布的版本没有太大变化,那么这些包将使用新的 Indy!)
++ 注意,重新激活这些 Embarcadero 包时可能不会立即收到任何错误,但它们可能会在以后的随机时间出现。例如,我刚刚安装了 Indy10_4548.zip,所有重新激活的包都看起来很好。然后一天后,IDE 抛出了一条消息,说它找不到 TIdCustomHTTP 中的 GetRequestHeaders,导致 dclWindowsAzureManagement150.bpl 出现问题。因此,我不得不返回 IDE 并禁用 Windows Azure 包。