这是不是VB的Bug

时间:2021-09-21 04:08:35
我做了一个程序,里面有一个类模块,包括13个变长字符串属性,6个Boolean属性,4个Long属性和大量私有变量及模块级的常数。当我运行6,7次时候,程序开始出错,大多是“内存溢出”,而当我去掉其中3个字符串属性时,程序正常。后来我把3个字符串属性改为了Date型,结果运行6,7次后,用CommonDialog打开文件时又出现了“CommonDialog.ShowOpen无法创建对象的错误”(大约是这样)。我又重装了一次系统,错误竟然消失了。这到底是这么回事,请大家给我个说法。

7 个解决方案

#1


编程水平太低,里面有太多的错误
不要动不动就说语言不好,觉得不好可以用其他语言阿

#2


我个人比较讨厌 VB ,特别想做大一点的程序的时候,因为它不能接受太大的数组,我有好几个程序都是因为数组的关系而不得不放弃它原来设想的结构,而采用了效率比较低的结构。

#3


你用任何语言都一样
VB 不是没有
是你不会而已

对于数组:
可以用:
动态数组,
双向链表
内存记录集

但是,
如果,
你还没有会用数组传参
则就不能算学会了VB

#4


我贴这个贴子是想让大家帮我找找错误的原因及解决办法,不是让大家来评论别人的编程水平的。自认为是高手的人们,给我个满意的答案啊!
第一个问题,曾经有人说过,这是VB的一个限制,以下是MSDN的解答:运行超出了 Public 变量的空间。应减少 Public 变量的数目……编写的可重入代码不能正确地执行,或者是过程数组分配内存过多。 
的二个问题现在又出现了,程序运行时次左右的时候便会出现“运行时错误‘2147417848(80010108)’:Automation错误”。而且这个错误在别的程序运行的时候也出现过,这到底是什么原因呢?
我在这里只想把问题拿出来跟大家讨论,没想到有人却喜欢讨论问题以外的事情。唉
TO sssoft(恒谦):
      我只是说以下编程中遇到的问题,我并没有否定VB的意思。我是从7年前的小霸王上的G-Basic和J-Basic开始接触Basic语言。后来有了自己的电脑,开始用QBasic,三年前开始学VB。到现在我用过我们这个地方能见到的见到的所有Basic:QBasic,Turbo Basic,MapBasic.我非常赞同曾经有人在《电脑爱好者》上说过的一句话:用Basic编程就像写诗。用VB编程更像写*体,让你能在不用关心细节的情况下充分发挥自己的灵感!我爱Basic胜过其他任何一门语言。虽然先后我学了C/C++,Pascal,(在Windows下学的是BC++,Delphi,)但我做别人给我的任务仍然是用VB,只因为我爱它。我非常讨厌有人通过与其他语言的比较来否定VB的价值,但我并不否认VB中存在的致命的一些弱点。
     我非常讨厌你说话的语气,一个人对编程的感情,对一门语言的感情,不是通过选择合适的手段实现自己的目的就能满足的。
     顺便说一句,鄙人是学中文的。编程水平寥寥,还请各位专家多多指教。
如有喜爱文学,或喜欢VB,C/C++的朋友是否可以给我个认识的机会,共同促进共同学习。另外,小弟正在学汇编,向拜一高手为师,还请大家多多帮助。
E-mail :gwolf@21cn.com
qq:4482210



#5


引用 ADO RecordSet Type Libaray2.5
用以下代码创建内存记录集:
    Dim oRs As ADOR.Recordset
    Set oRS = New ADOR.Recordset
    oRS.CursorLocation = adUseClient

    oRS.Fields.Append "Name", adBSTR

    oRS.Open

#6


问题解决了吗?

#7


Bardo(巴顿)你人很好呀,呵呵,我虽然水平不高,但看了这么多帖子,看得出你很热心助人的,呵呵希望和你交个朋友.
Email: jfq@netease.com
QQ:10817423

#1


编程水平太低,里面有太多的错误
不要动不动就说语言不好,觉得不好可以用其他语言阿

#2


我个人比较讨厌 VB ,特别想做大一点的程序的时候,因为它不能接受太大的数组,我有好几个程序都是因为数组的关系而不得不放弃它原来设想的结构,而采用了效率比较低的结构。

#3


你用任何语言都一样
VB 不是没有
是你不会而已

对于数组:
可以用:
动态数组,
双向链表
内存记录集

但是,
如果,
你还没有会用数组传参
则就不能算学会了VB

#4


我贴这个贴子是想让大家帮我找找错误的原因及解决办法,不是让大家来评论别人的编程水平的。自认为是高手的人们,给我个满意的答案啊!
第一个问题,曾经有人说过,这是VB的一个限制,以下是MSDN的解答:运行超出了 Public 变量的空间。应减少 Public 变量的数目……编写的可重入代码不能正确地执行,或者是过程数组分配内存过多。 
的二个问题现在又出现了,程序运行时次左右的时候便会出现“运行时错误‘2147417848(80010108)’:Automation错误”。而且这个错误在别的程序运行的时候也出现过,这到底是什么原因呢?
我在这里只想把问题拿出来跟大家讨论,没想到有人却喜欢讨论问题以外的事情。唉
TO sssoft(恒谦):
      我只是说以下编程中遇到的问题,我并没有否定VB的意思。我是从7年前的小霸王上的G-Basic和J-Basic开始接触Basic语言。后来有了自己的电脑,开始用QBasic,三年前开始学VB。到现在我用过我们这个地方能见到的见到的所有Basic:QBasic,Turbo Basic,MapBasic.我非常赞同曾经有人在《电脑爱好者》上说过的一句话:用Basic编程就像写诗。用VB编程更像写*体,让你能在不用关心细节的情况下充分发挥自己的灵感!我爱Basic胜过其他任何一门语言。虽然先后我学了C/C++,Pascal,(在Windows下学的是BC++,Delphi,)但我做别人给我的任务仍然是用VB,只因为我爱它。我非常讨厌有人通过与其他语言的比较来否定VB的价值,但我并不否认VB中存在的致命的一些弱点。
     我非常讨厌你说话的语气,一个人对编程的感情,对一门语言的感情,不是通过选择合适的手段实现自己的目的就能满足的。
     顺便说一句,鄙人是学中文的。编程水平寥寥,还请各位专家多多指教。
如有喜爱文学,或喜欢VB,C/C++的朋友是否可以给我个认识的机会,共同促进共同学习。另外,小弟正在学汇编,向拜一高手为师,还请大家多多帮助。
E-mail :gwolf@21cn.com
qq:4482210



#5


引用 ADO RecordSet Type Libaray2.5
用以下代码创建内存记录集:
    Dim oRs As ADOR.Recordset
    Set oRS = New ADOR.Recordset
    oRS.CursorLocation = adUseClient

    oRS.Fields.Append "Name", adBSTR

    oRS.Open

#6


问题解决了吗?

#7


Bardo(巴顿)你人很好呀,呵呵,我虽然水平不高,但看了这么多帖子,看得出你很热心助人的,呵呵希望和你交个朋友.
Email: jfq@netease.com
QQ:10817423