我定义了一个全局数组 Public ConfTermList() As EndPointInfo
我在F5下面运行下面这句程序,无错误
ReDim ConfTermList(0) As EndPointInfo 或者是 Erase ConfTermList
均无错误。但是,将程序编译为.Exe后,运行出错Err Number = 10.我的整个工程代码大概3万行的样子
是什么原因导致编译后会产生错误呢?
我在F5下面运行下面这句程序,无错误
ReDim ConfTermList(0) As EndPointInfo 或者是 Erase ConfTermList
均无错误。但是,将程序编译为.Exe后,运行出错Err Number = 10.我的整个工程代码大概3万行的样子
是什么原因导致编译后会产生错误呢?
那就不一定是这里的问题阿呵呵你用err把错误截获一下
======================================================
在F5下面拦截就没有错误。但是一搞成exe,错误就出来了,就是Err.Number =10.但是没有道理啊,我Erase数组也出错,而且,该数组之前没有释放。
nLine = 1 '代码第一行
nLine = 2 nLine = n Exit Sub
Label_Err:
Label5.Caption = "第" & nLine & "行出错,错误代码:" & Err.Number
==========================================================================
ReDim ConfTermList(0)
错误都是10,奇怪死了。
EndPointInfo 是和数组在一个模块中定义的么?
======================
对,同一个模块中定义的
你更改一下编译的选项呢?
====================================请问改为哪个选项?
找不着原因就只好多试试了啊
反正我就这么弄,实在没办法就瞎捅鼓 :(
======================================================================
每个都试了,不行
with xxx
.xx=xx
end with
之类的写法, 有的话去掉试试
==============================================================
早上一到公司,上来一看,觉得有道理。我知道是锁住了,但是不知道什么原因导致,因此郁闷了好几天。我程序里面确实是用了不少的 with,呵呵,将该数组相关的with去掉后,问题解决。
你太帅了!Oh,Yeah。
非常非常地感谢,不然我今天说不定将动态数组又改为静态。 再次谢谢关心这个帖的朋友们。在结贴之前,再弱弱的问问:
1。我的每个函数中的with都是按照规范来使用的,问什么还会导致锁定?
2。除了with可能导致数组锁定外,还有没有其他语法的使用可能导致数组锁定。
头一次听说.
LZ能不能发些相关的代码让俺也学学到底是怎么锁定的。
With导致锁定?
LZ能不能发些相关的代码让俺也学学到底是怎么锁定的。
===========================================
不好意思,公司的代码,不能贴出来。
我仔细检查了那段代码,完全没有什么错误的痕迹,但是不知道为什么就锁定了。我自己建了个工程,试了半天也没有出现锁定的情况。
难道是工程太大了?!不解!
你确定是数组的问题吗?
====================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是数组那行出错。
如果在之间调用了某些函数, 并且这些函数有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