加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

改问题的能力

发布时间:2020-12-16 22:30:01 所属栏目:大数据 来源:网络整理
导读:问题情况:网页上调用了VB写的一个控件生成Word文档。现在当某一ID36767(2的16次方,记不清这个数了)时就会出错,生不成文档。因此怀疑是这个控件的入口方法的参数给设定为Integer型,导致出错。 已有条件:有早期源码,并不是最新的源码。但里面只有一个
问题情况:网页上调用了VB写的一个控件生成Word文档。现在当某一ID>36767(2的16次方,记不清这个数了)时就会出错,生不成文档。因此怀疑是这个控件的入口方法的参数给设定为Integer型,导致出错。

已有条件:有早期源码,并不是最新的源码。但里面只有一个方法的参数为Integer,据分析肯定不是这个方法导致。
这问题何解?
1.确认当前代码中没有另外的Integer参数方法时,怀疑他们给出的疑问有问题,也许不是VB控件的错。但确实是当ID大于那一值后才会出现这种问题。
2.查了VB代码后,发现在处理图片时有一个路径是类似于Picture_ID这样的内容,于是怀疑是因为写这个路径的那个方法是Integer参数,因为没有生成这个路径,所以VB在这个路径下取图片时就会出错。但经确认,网页是用PHP写的,PHP不会有Integer这样的主动声明过程,也就产生不了这种错误,这个怀疑被否定。
3.再次查看VB代码,发现它在生成Word文档时处理了一个XML文件,搜索这个文件后,在某一位置下找到。删除后,在执行一下点按钮的操作,这时又有了XML文件。也就是说VB控件里还有一个生成XML文件的方法。因为VB代码不是最终版的,所以怀疑在后面的代码中又加了一个对应的生成XML的方法。
4.到此时才想起去看看PHP的代码。那里面清楚的写着VB控件的入口方法为另一个现有代码中没有的方法。
5.于是接下来的工作就是在现在代码中补上这个没有的方法,并把生成XML文件的方法也补上。写好代码后,得到对应的.ocx控件,二进制兼容后。替换。搞定

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读