当前位置:编程学习 > VB >>

vb overflow出错机制是什么

俺做的一个计算程序,每5秒钟从PI数据库取一组数据,计算后再存回去。
测试的时候无问题,编译后移到服务器上连续跑4天后出现overflow错误。
我是用vb6编译成p代码的。 不了解PI数据库,确定是vb程序端挂了的吗?能定位到溢出时执行的代码吗?另外编译成本机代码试试。 超出范围了
引用 1 楼 sysdzw 的回复:
不了解PI数据库,确定是vb程序端挂了的吗?能定位到溢出时执行的代码吗?另外编译成本机代码试试。
PI是一种实时数据库。数据库没有问题,我同时在跑的其他计算程序都正常。
我的计算程序初始化时从数据库读取标签点信息,里面有long型,string型数据,这一部分没有问题,初始化完成后就不再改动这些数据,应该不会在这里出错。计算中读取的数据库数据都是single类型的,计算后存回去也是single类型,数据也不不大,都是几十到几千的,按理说应该也不会溢出的。
本机调试的时候没有跑很长时间。现在先在本机测试一下。 楼主的情况应该是某一个数据类型大小溢出,或者说数组之类的,清查一下数据类型呢?
引用 MSND:
溢出(错误 6)


当赋值超出目标的限制时,就会发生溢出。此错误有以下的原因和解决方法: 

赋值、计算或数据类型的结果的转换太大,以致于不能在变量类型所允许的范围内表示出来。 
赋值给足够表示值的范围的类型的变量上。

给属性的赋值超过属性能接受的最大值。 
确保赋值适合属性的范围。

试图在计算中使用一个数字,并且该数字被强制为一个整数,但是结果超过了整数的范围,例如: 
    Dim x As Long
    x = 2000 * 365   ' 错误: 溢出
要解决这个问题,请按如下方式键入该数字:

    Dim x As Long
    x = CLng(2000) * 365
  按你说的,你的LONG类型很可能溢出了,另外你最好检查一下数据库中single的数据是否有个别数据超乎意料。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,