我定义了一个全局数组 Public ConfTermList() As EndPointInfo     
 
我在F5下面运行下面这句程序,无错误
  ReDim ConfTermList(0) As EndPointInfo   或者是 Erase ConfTermList     
均无错误。但是,将程序编译为.Exe后,运行出错Err Number = 10.我的整个工程代码大概3万行的样子
是什么原因导致编译后会产生错误呢?

解决方案 »

  1.   

    3万行...
    那就不一定是这里的问题阿呵呵你用err把错误截获一下
      

  2.   

    你用err把错误截获一下
    ======================================================
    在F5下面拦截就没有错误。但是一搞成exe,错误就出来了,就是Err.Number =10.但是没有道理啊,我Erase数组也出错,而且,该数组之前没有释放。
      

  3.   

    err 错误截获可以编译成exe 成了exe你怎么用f5阿
      

  4.   

    exe下面我是把错误打印出来的在F5下面,拦截err,没有任何err产生。
      

  5.   

    Dim  nLine as Integer  '用于错误定位 On Erro Goto Label_Err:
      nLine = 1 '代码第一行 
      
      nLine = 2   nLine = n   Exit Sub
    Label_Err:
       Label5.Caption = "第" & nLine & "行出错,错误代码:" & Err.Number
    ==========================================================================
      

  6.   

    试试:
    ReDim ConfTermList(0)
      

  7.   

    只要是Redim就出错,加Preserve也没有用,Erase也没有用。
    错误都是10,奇怪死了。
      

  8.   

    EndPointInfo  是和数组在一个模块中定义的么?
      

  9.   

    kkkksunday(啊呀) ( ) 信誉:99  2006-07-17 14:34:00  得分: 0  
     
     
       EndPointInfo  是和数组在一个模块中定义的么?
      
     
    ======================
    对,同一个模块中定义的
      

  10.   

    kkkksunday(啊呀) ( ) 信誉:99  2006-07-17 15:08:00  得分: 0  
     
     
       你更改一下编译的选项呢?
      
     
    ====================================请问改为哪个选项?
      

  11.   

    都试试呗,工程->属性->编译
    找不着原因就只好多试试了啊
      

  12.   

    kkkksunday(啊呀) ( ) 信誉:99  2006-07-17 15:24:00  得分: 0  
       反正我就这么弄,实在没办法就瞎捅鼓 :(
    ======================================================================  
     每个都试了,不行
      

  13.   

    可能数据被锁住了, 查看下上下文是否有
    with xxx
       .xx=xx
    end with
    之类的写法, 有的话去掉试试
      

  14.   

    pigsanddogs(我爱吃猪肉,但是长不胖,为什么??) ( ) 信誉:110 
    ==============================================================
    早上一到公司,上来一看,觉得有道理。我知道是锁住了,但是不知道什么原因导致,因此郁闷了好几天。我程序里面确实是用了不少的 with,呵呵,将该数组相关的with去掉后,问题解决。
    你太帅了!Oh,Yeah。
    非常非常地感谢,不然我今天说不定将动态数组又改为静态。 再次谢谢关心这个帖的朋友们。在结贴之前,再弱弱的问问:
    1。我的每个函数中的with都是按照规范来使用的,问什么还会导致锁定?
    2。除了with可能导致数组锁定外,还有没有其他语法的使用可能导致数组锁定。
      

  15.   

    With导致锁定?
    头一次听说.
      

  16.   

    With导致锁定?
    LZ能不能发些相关的代码让俺也学学到底是怎么锁定的。
      

  17.   

    wxrwan(不耻上问) ( ) 信誉:105  2006-07-18 13:28:00  得分: 0  
       With导致锁定?
    LZ能不能发些相关的代码让俺也学学到底是怎么锁定的。
    ===========================================
    不好意思,公司的代码,不能贴出来。
    我仔细检查了那段代码,完全没有什么错误的痕迹,但是不知道为什么就锁定了。我自己建了个工程,试了半天也没有出现锁定的情况。
    难道是工程太大了?!不解!
      
     
      

  18.   

    gzsxy8013(more) ( ) 信誉:84  2006-07-18 14:06:00  得分: 0  
     
       你确定是数组的问题吗?
    ====================Dim  nLine as Integer  '用于错误定位 On Erro Goto Label_Err:
      nLine = 1 '代码第一行 
      
      nLine = 2   nLine = n   Exit Sub
    Label_Err:
       Label5.Caption = "第" & nLine & "行出错,错误代码:" & Err.Number
    ==========================================================================
    这样调的,你说能不能确认,呵呵
    err.number =10,nLine是数组那行出错。
      

  19.   

    with 到 end with 之间, 这个数据是处于缩定状态,
    如果在之间调用了某些函数, 并且这些函数有redim 这个数组等操作, 就会失败.
    private type udtA
      a as long 
      b as long 
    end type 
    dim aaa() as udtA
    redim aaa(1)with aaa(0)
      .a = 4
      call func()
      .b = 5
    end withprivate sub func
      redim aaa(10)
    end sub