写了一晚上VB,一时疏忽忘记保存
在调试的时候VB忽然非法操作
谁能告诉我怎样找回已经写过的代码?
在线等,拜托大家了,小弟在此先谢过
在调试的时候VB忽然非法操作
谁能告诉我怎样找回已经写过的代码?
在线等,拜托大家了,小弟在此先谢过
解决方案 »
- vb 图层
- 关于如何动态执行VB命令?
- 自学编程也有两年了,对VB\VC\DELPHI\JAVA\ASP都有所了解,看一些代码也能看懂个70-80%,可是要编个东西就是无从下手,不知该如何提高?请
- 请问,如何用ADO将一个ACCESS表的某一个字段值,都替换成某一个特定值呢?
- 我该怎么给DataGrid设DataSource。
- 哪们同志有vsFlexArray和vsPrint的说明文件或是帮助文件?
- 使用Data Report如何动态显示报表列?
- 文本中所有汉字数字转阿拉伯数字
- vb透明窗体右键菜单出现下面图的情况,怎么才能不显示
- 一个关于十六进制文件的问题
- 改变有图片背景的Form大小时,Form发生闪烁,请教如何消除闪烁现象?
- 如何实现在光标处传送字符串??
另外,你可以换台机器,找个文件监视工具,看看在vb的ide中测试时,系统是否生成了临时文件
VB菜单的“工具”->“选项”->“环境”页签->“启动程序时”选择“保存改变”
然后点击取消使用Visual Stdio 2005 进行调试Unhandled exception at 0x65053978 in VB6.EXE: 0xC0000005: Access violation reading location 0x00000010.然后中断程序停止在这里65053972 mov eax,dword ptr [ebp-38h]
65053975 mov ecx,dword ptr [eax+8]
65053978 mov edx,dword ptr [ecx+10h] <---问题就出现在这里
6505397B mov dword ptr [ebx],edx
6505397D jmp 65053B3F
65053982 lea ebx,[edi+28h]
65053985 mov dword ptr [ebx],0 发现ecx的地址为0x00000000
将ecx的地址指向0x0013f2b0(该地址是我在程序中声明的一个动态数组的地址)
然后继续哈哈,我的VB又恢复正常了,赶紧保存
大功告成~Yeah~~分析程序代码发现问题出现在这里
Option Explicit
Private bytBlob() As Byte
.......
Private sub ...()
.......
Redim byteBlob(Size) <-多了个"e"
.......
End Sub
然后在使用bytBlob的时候就会出错MSDN上这样解释:
小心 如果 ReDim 语句所使用的变量在模块级别或过程级别不存在,则该语句就相当于一个声明语句。如果此后在一个更广的范围内又创建了同名的变量,即使使用了 Option Explicit,ReDim 也将使用后声明的这个变量,且不会导致编译错误。为了避免这种冲突,就不应把 ReDim 作为声明语句使用,而只应作为重定义数组大小的语句。一夜的辛苦总算没有白费
总算可以安心睡觉咯~~HoHo~~
但是只有些变量名没有改变其他的程序代码好像已经被某种方法转译了