我在Delphi XE中安装了所有Dsharp软件包.但是,当我运行该示例时,我总是收到以下错误消息:
例外:修补:ObjAuto.GetTypeSize失败.你在方法中设置了断点吗?
有没有人找到这个错误的解决方法?
该库正在尝试应用运行时代码补丁来修复ObjAuto.GetTypeSizeRTL函数中的缺陷.执行此操作的代码可以在这里看到:https://bitbucket.org/sglienke/dsharp/src/ad7c5983505f0117f1347f92d2bb96c07bdfda94/Source/Core/ObjAutoPatch.pas?at=master&fileviewer=file-view-default
呼叫FindMethodBytes失败.因为此函数即将修改执行代码以安装运行时补丁,所以它首先检查代码是否符合预期.它搜索代码,寻找该功能的已知签名.
无法找到该签名,因此无法安装补丁.因此错误消息.修补程序代码以这种方式失败的一些可能原因:
问题可能是由于我还没有想到的其他原因.但从根本上说,这些都是同一主题的变种.运行时遇到的代码不符合预期.我建议您尝试找出原因,以便确定最佳方法.
鉴于此消息有很多可能的原因,我只是试图解释它的概念原因,但现在你真的要调试环境中的细节.