VB: 定时器和报表冲突

    最近碰到一个奇怪的情况,VB6编写的软件使用了dsr格式的报表,没有使用水晶报表(crystal report)。在调用datareport.refresh的时候,出现错误“left and right margins are wider than the paper width”,查阅了资料,可能原因有以下几种

    • · VS6没有打SP4或更高的补丁,最高版本的补丁是SP6
    • · 页面的横、竖设置与报表不一致
    • · 报表中的某个控件太长,超出页面的宽度

    分别针对以上原因,进行了尝试,不幸问题仍然存在。

    很偶然的,发现和主界面的定时器有关,停止定时器,不会出现上述错误;打开定时器,就会出现。

    解决方法:

    主界面deactive时,关闭定时器;

    主界面active时,启动定时器。

参考资料:

VS6补丁 http://support.microsoft.com/kb/261193
控件超长 http://vbcity.com/forums/t/36909.aspx

原文地址:https://www.cnblogs.com/ols/p/2063299.html