我已经纠正了肥皂单元 ( Soap.OPToSOAPDomConv.pas
) 中的错误,但我不知道如何重建soaprtl170.bpl
(Delphi XE3)。
我需要这样做,因为我有一个组件要安装在需要该 bpl 的 ide 中,并且当将其放入表单并激活它时,会在设计模式下调用 web 服务。
在设计模式下,它似乎使用了 soaprtl 而不是我修改的Soap.OPToSOAPDomConv.dcu
. 在运行时它可以工作,因为我没有使用运行时包并且我的 dcu 优先。
任何有关如何重新编译 bpl 的帮助将不胜感激。
我想在该文件中应用的具体补丁如下:
function TOPToSoapDomConvert.InvContextToMsg(const IntfMD: TIntfMetaData; MethNum: Integer;
Con: TInvContext; Headers: THeaderList): TStream;
...
(line 1446)
if not IsBareLiteral then
MethNode := BodyNode.AddChild(ExtMethName, SoapMethNS,true)
else
MethNode := BodyNode;
...
该补丁包括将true添加到 addChild。