Delphi 11.0升级至11.2后启动报错,求解决方案
解决Delphi 11.2升级后Indy相关入口点缺失错误
问题根源
Delphi 11.2对System.UrlClient单元内的TAsyncReadStream构造函数签名做了修改,而你当前使用的Indy库是基于Delphi 11.0编译的,导致运行时无法找到匹配的函数入口。
修复步骤
重新编译全量Indy包
- 在Delphi 11.2中打开Indy的组项目(通常为
Indy10.groupproj) - 右键组项目选择
Clean All,清除所有旧编译产物 - 按
IndySystem→IndyCore→其他依赖包的顺序编译运行时包,最后编译设计时包 - 将项目依赖的Indy库路径替换为新编译的版本
- 在Delphi 11.2中打开Indy的组项目(通常为
修正项目搜索路径
- 打开项目选项,进入
Delphi Compiler > Search Path - 删除指向Delphi 11.0旧版本的Indy或
System.UrlClient相关目录 - 将Delphi 11.2自带的
System.UrlClient单元路径移至搜索列表最顶端
- 打开项目选项,进入
清理编译缓存
- 删除项目目录下的
*.dcu、*.exe、*.dll文件 - 进入Delphi选项
Tools > Options > Library,清除全局缓存目录内的旧编译文件 - 重新全量编译项目
- 删除项目目录下的
检查第三方组件依赖
若项目使用了依赖Indy的第三方组件,需确保这些组件已针对Delphi 11.2重新编译,避免间接调用旧版本接口
验证方式
编译完成后,可通过Dependency Walker等工具检查myProgram.exe的依赖项,确认加载的是Delphi 11.2版本的相关单元及新编译的Indy库。
内容的提问来源于stack exchange,提问作者user3140961
相关产品推荐
相关产品推荐

