请VB专家告诉我,是否在type中定义动态数组的办法不可行?本人用VisualBasic6.0(+sp6)编制了一个程序,在bas模块中定义了两个 每段变量everyBeginAsDateeveryEndAsDateEndTypeTypetypeITEM...EverySegment()As每段变量...EndTypePublicItem(1to10)AstypeITEM然后,在frm窗体中为每个Item变量定义了不同数量的 (1).EverySegment(1to2)ReDimitem(2).EverySegment(1to4)ReDimitem(3).EverySegment(1to3)...然后在多个Sub中调用这些变量进行计算,并退出这些Sub。程序在编程界面中运行都很顺利,但编译为exe文件后再运行,调用这些变量进行计算一次没有问题,但再次执行Eraseitem(1).EverySegment或者Eraseitem等重新定义数组的语句就会跳出:运行时错误'10':该数组被固定或临时锁定。查看MSDN,产生这种错误是由于“使用ReDim来改变固定大小数组的元素数”,或者“对模块层次动态数组,要重新确定大小,而某一个元素已经作为参数传给了过程”。但我根据这些说明,无法消除错误10,因为在编程界面中运行没报错,在进行第一次计算的时候没有报错,是计算完成后要重新打开另外一个数据文件(这时,所有的sub都结束了),在eraseitem时报错,ReDimitem(1).EverySegment(1to5)也报错。而且,因为错误不在运行VB中产生,而是在编译后产生,所以要追查起来太过麻烦(我只好临时加了很多msgbox,看看运行到了哪里才报错)请VB专家告诉我,是否在type中定义动态数组的办法不可行,或者本人的思路是否在VB中无法实现?如果要用这种办法,应该怎么办才能避免“错误10”?
hi,你好。我跟你有同感啊,我感觉程序员不仅要有技术知识,还要有侦探一样的缜密,细腻,以及高超的侦查推断能力。在纠错的诊断上就是这样。其实我的感觉是vb不是很好用,他有很多的内在约定,这些约定只能在编程的过程中摸索,经过的事情多了,也就形成了所谓的经验。 有些问题是如此的古怪,匪夷所思。比如我也碰到像你这样的问题,在IDE下运行正常,而在编译成dll后就出错,排查起来真的很困难。也象你一样,一个一个过程的查,找到出错的过程。可这个过程明明很简单,语句都很规范,还是错,错在哪里?于是只好一句一句的查,设置个变量,然后在每条语句之后对这个变量赋个不同的值。 出错时,在错误处理中显示这个值。...全部
hi,你好。我跟你有同感啊,我感觉程序员不仅要有技术知识,还要有侦探一样的缜密,细腻,以及高超的侦查推断能力。在纠错的诊断上就是这样。其实我的感觉是vb不是很好用,他有很多的内在约定,这些约定只能在编程的过程中摸索,经过的事情多了,也就形成了所谓的经验。
有些问题是如此的古怪,匪夷所思。比如我也碰到像你这样的问题,在IDE下运行正常,而在编译成dll后就出错,排查起来真的很困难。也象你一样,一个一个过程的查,找到出错的过程。可这个过程明明很简单,语句都很规范,还是错,错在哪里?于是只好一句一句的查,设置个变量,然后在每条语句之后对这个变量赋个不同的值。
出错时,在错误处理中显示这个值。哈,找到了,就是下面的这条语句:(在窗体模块中)me。textbox1。text="LL" 这条语句也有错?错在哪?是不能用me?把me改成窗体名,还是不行。
再分析:应该是对文本框赋不进去值,可为什么赋不进去值呢? 再查,locked属性为false,没有锁定,应该可以赋值。真的没办法了,这么一个简单的控件,这么一条简单的语句,这也会出错,真的没把法了,真想放弃了。
在碰得满头大包,脑袋嗡嗡作响时,猛然一个想法跳出来:是不是默认属性有问题?编程时间长了,或许已经淡忘了,其实就是这样:me。textbox1="LL" 。通过了!真是难以想象,难以置信啊。这是发生在microsoft form 2。
0的textbox控件上的事件。
还有比这更复杂的事件。诸如此类的问题疑惑着我们,让人不得释怀。怎奈我们用的是人家的东西,我们能怎么办?我们只能认为它是对的,要么我们去找更新版本软件,要么我们妥协绕道而行。
其实你已经找到了答案,只是你心中有个结,这个结不是你系的,是微软自相矛盾给你系的。他自己的矛和盾都是最强的,而我们还要接受这个事实,这是我们不能释怀的原因。其实可以想象,要么IDE告诉你不行,要么让你通过,微软只能给你这两种可能。
而第一种可能是最大的,现实的情况是你要绕道而行,或者你去找更新的软件。如果可能,把问题反映给微软。还有,我们受到了不公的待遇,需要诉说,需要倾诉,向软件制作者,也可以向我,这样很好,我们可以共同增长经验。
以上没有直接回答你的问题,希望对你有所帮助。
呵呵,你好晴天。好像我只能在这里回答。
知道反编译,本人不精通。安全人员及黑客必须的基本功,且是衡量其能力的重要标准之一。有的文章介绍,p代码是解释执行的,在vb运行库的支持下。
不知道离开vb,是否可单独执行。
我没有QQ,发信吧。mikenjohn@ 。收起