名为InvRules的单元(以前在SOAP文件夹中)在哪里进入Delphi XE2?

时间:2011-09-09 14:36:02

标签: delphi soap delphi-xe2

我正在尝试将一些Delphi XE代码移植到XE2,它使用一个名为InvRules.pas的单元,根据XE2文档,它没有名称空间前缀。

它也不在我期望的soap文件夹中:

C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\source\soap

最简单的答案是它已从XE2中删除(意外或故意)。 有没有人弄明白什么了?此单元包含GetStackTypeSize和RetOnStack等函数,有时在自定义TRIOHelper类型类中使用。

1 个答案:

答案 0 :(得分:3)

soap运行时不再使用此单元,因此不再运输。在以前的版本中,它是soaprtl运行时包的一部分。对XE2版本的soap运行时进行了一些重大更改,以使代码可移植到x64,并且更少依赖于在RTTI支持单元中基本上重复的BASM代码。与提交状态关联的更改日志条目:

  

重构InvRules,使用RTTI获取类型大小。   从soap包中删除InvRules,PrivateHeap。

如果您的代码依赖于本单元中的帮助程序,则可以使用先前版本中的源代码。您可能还希望在XE和XE2之间区分Invoker.pas,InvokeRegistry.pas,OPToSOAPDomConv.pas和Rio.pas单位,以查看代码如何更改,因此它不再依赖于InvRules.pas单元。