Windows更新KB4284835后,用于删除排序字段的现有代码不再起作用

2020-09-16 23:00发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在VS2015中使用VS版本13...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在VS2015中使用VS版本13.0.23的CR,我们有一个VB应用程序,可以有选择地从Engine.ReportDocument中删除一个或两个排序字段。 直到上周为止,此方法都运行良好,并且我们能够确定是Windows更新KB4284835引起的。 我会复制我们使用的语法,但似乎以一种奇怪的格式粘贴。

为了描述它,我们将一个Fields对象设置为ReportDocument.ReportClientDocument.DataDefinition.ResultFields。 然后,在其上使用FindField方法返回我们要查找的排序字段。 然后使用DataDefController.SortController,我们使用CanSortOn函数来验证它是一个排序字段,最后,我们使用SortController的.Remove方法,向它提供字段对象。

我们收到的错误是:无效的索引。 (来自HRESULT的异常:0x8002000B(DISP_E_BADINDEX))

如果我硬编码而不是.Remove方法中的字段对象,则它可以工作(但这不是一个好的最终解决方案)。 如果我对排序字段进行迭代以找到合适的索引值,将其存储在变量中并将该变量输入.Remove方法,则它将失败,并出现相同的错误。

所以我非常喜欢""?" 用这个观点。

任何帮助将不胜感激-谢谢!