首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VB6 Timer(),空格() Form_Initialize()导致立即崩溃

VB6 Timer(),空格() Form_Initialize()导致立即崩溃
EN

Stack Overflow用户
提问于 2011-12-13 16:12:39
回答 1查看 3K关注 0票数 6

创建一个新的VB6项目。将下面的代码粘贴为项目代码。命中跑。看看它会不会坠毁..。删除或简化代码中您喜欢的任何内容,然后它就会正常工作。,谁能解释一下为什么这会崩溃吗?

到目前为止,这已经在8台PC上进行了测试,它们都运行着Windows、Windows、Windows 7、Office 2010和Office 2007的各种组合。在Visual中对其进行测试的部分安装了VisualBasic6SP6。

代码语言:javascript
复制
Private Sub Sleep(ByVal nSeconds As Long)
    Dim nStart As Long: nStart = Timer
    Do
        DoEvents
    Loop Until (Timer - nStart) >= nSeconds
End Sub

Private Sub Crash()
    Dim sTempPath As String: sTempPath = Space(255)
End Sub

Private Sub Form_Initialize()
    Sleep 1
    Crash
End Sub

增编1:

我把它作为宏放在Excel2010中,用Workbook_Open()代替Workbook_Open(),当然,打开文档时也是如此。它坠毁了!

增编2:

在点击"Run“之前,我在每一行都添加了断点,在到达第一个断点之前,它就崩溃了。但是,如果我简化或删除其中的任何内容,它可以正常工作,不会崩溃。

增编#3:

他尝试了米西姆关于切除结肠的建议,但没有崩溃。把它加回去,再运行一次,它没有崩溃。关闭Visual,并放入原始代码,然后崩溃。

增编4:

VisualBasic6IDE中的问题详细信息:

问题签名:

问题事件名称: APPCRASH

应用程序名称: VB6.EXE

申请版本: 6.0.81.76

申请时间戳: 3592011f

故障模块名称: VBA6.dll

故障模块版本: 6.0.0.8169

故障模块时间戳: 358b0c74

例外代码: c0000005

异常抵消: 00026329

操作系统版本: 6.1.7601.2.1.0.256.4

地区编号: 1033

补充资料1: 7e3b

附加信息2: 7e3beb1e9ccf6d519c5b994ca59a280f

补充资料3: 7b83

附加信息4: 7b833c57ebcf 54809fd3aaccd8ea4f46在线阅读我们的隐私声明:

http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409如果在线隐私声明不可用,请脱机阅读我们的隐私声明:

C:\Windows\system32\en-US\erofflps.txt

增编#5:

Microsoft 2010中的问题详细信息:

问题签名:

问题事件名称: APPCRASH

应用程序名称: EXCEL.EXE

申请版本: 14.0.4756.1000

应用时间戳: 4b9c08e8

故障模块名称: VBE7.DLL

故障模块版本: 7.0.15.90

故障模块时间戳: 4b7b1248

例外代码: c0000005

异常偏移: 00045b6a

操作系统版本: 6.1.7601.2.1.0.256.4

地区ID: 1033 有关问题的附加信息:

立法会编号: 1033

在线阅读我们的隐私声明:

http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0409如果在线隐私声明不可用,请脱机阅读我们的隐私声明:

C:\Windows\system32 32\en-US\erofflps.txt

EN

回答 1

Stack Overflow用户

发布于 2012-01-04 02:43:31

在回顾了您的问题和所有加载项之后,我意识到您的计算机正在运行发布版的VB6,而不是而不是 SP6。

您的崩溃详细信息表明了以下版本:

  • VB6.exe: 6.0.81.76
  • VBA6.dll: 6.0.0.8179

VisualBasic6.0 SP6文件的确切生成编号如下:

6.0.97.82

  • VBA6.dll:

  • VB6.exe: 6.0.0.9782

异常代码c0000005对应于模块vba6.dll中的访问冲突。在Microsoft KB上也记录了类似的问题

我还没有找到一个准确的源代码,列出了每个VB6服务包的构建号,但看起来这是RTM version。尽管您可能已经自己安装了SP6,但安装服务包后,流氓安装程序可能已经用旧版本覆盖了共享系统文件。这将解释为什么许多用户评论说,在一个看似相似的设置下,代码对他们很好。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8492373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档