You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi Event Bus(DEB) D11.0仅32位编译报错求助

Delphi 11.0 DEB 32位编译报错问题分析与解决

问题本质

这是Delphi 11.0 32位编译器的RTTI兼容性bug。Embarcadero在Delphi 10.4及后续版本调整RTTI实现时,32位编译环境下TRttiType的IsInterface属性被意外移除或未正确暴露,但64位版本保留了该属性,导致跨平台编译出现不一致。你没有遗漏任何配置步骤,问题属于官方平台兼容性疏漏。

临时修复方案

直接修改EventBus.Helpers第342行的判断逻辑,用TRttiType.TypeKind替代IsInterface属性,两者逻辑完全等价,且在所有Delphi版本和平台下都稳定可用:

// 原报错代码
if RttiType.IsInterface then 
// 修改后代码
if RttiType.TypeKind = tkInterface then 

该修改可同时兼容Delphi 10.2.3和11.0的32/64位编译,不会引入新问题。

后续建议

可以向Embarcadero官方bug跟踪平台提交该问题,等待官方补丁或新版本修复这个32位RTTI的属性缺失问题。

内容的提问来源于stack exchange,提问作者SteveS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 01:07:41