-
您可以在语句之前使用 On Error Resume Next 语句,然后确定语句中是否包含“无法删除注册密钥”字样,如果是,则表示启动已取消。 这样,程序就不会报告错误。
使用你给出的折叠的**。
**例如:
set reg = createobject("")on error resume next
hkey 本地计算机 Virtual Brother\Software\Microsoft\Windows\CurrentVersion 运行"
if instr(, "无法删除注册密钥"卖得很差,打了 0 然后msgbox"程序未设置为与系统一起启动。 "
endifset reg = nothing if instr(,"无法删除注册密钥"0 然后也可以更改为使用错误号,这样即使在英语环境中,也不会因为"无法删除注册密钥"错误消息变为英文,导致判断错误:
if = 2147024894 then
-
关键字 me 可以出现在类模块中。 它也可以是形式。 截图中出现这个错误的原因可能是 ** 放在了标准模块中,解决方法是将 me 替换为指定的对象名称。
由于问题信息不完整,因此只能自己尝试。
屏幕截图中圈出的几个地方可能会出现相同的问题。
-
在Excel中,VBA指示下标越界,指示对象不存在或数组元素不存在。
举个简单的例子:工作表中没有人"一月"但是,此工作表使用工作表("一月");数组定义了 arr(1 到 10),但将使用 arr(11),并且下标将越界。
简单地说:越界下标是超出范围的引号。
1.当我们在Excel的VBA中输入以下**并运行时,会出现“运行过程中错误9下标越界”的提示。 **下面:
sub a()
dim arr() as string
arr(1) = 你好"
end sub
2.其实上面的“运行时错误9下标越界”是因为定义的动态数组没有确定维度和大小。 这个问题可以通过定义固定数量的维度和维度来解决,或者通过使用 redim 定义维度和维度来解决。
更正后的**如下:
sub a()
dim arr() 定义了一个动态数组。
dim i as integer
redim arr(1 to 3) '定义一个由 3 个元素组成的数组并初始化该数组。
arr(1) =3
arr(2) =4
arr(3) =5'在下面的语句中,重新定义一个包含 10 个元素的数组,清除前面的元素,并重新分配新的存储变量。
redim arr(1 to 10)
for i = 1 to 10
arr(i) =i
next i
结束子,就是这样。
-
楼上搞笑。 80%的此类问题是您的程序是用错误编写的。
如果操作内存或一些危险的句柄,使用CopyMemory、varptr、callwindowproc等危险的操作函数与VB本身相比,这样在运行程序时一不小心,就可能导致内存访问越界、数据覆盖、内存泄漏、段异常、堆栈溢出、堆栈不平衡等问题。
需要注意的是,这些问题可能不会导致程序在发生后立即死机,但往往带有滞后,执行后表面可能没有异常,但是整个程序运行环境的某些方面已经损坏了(比如栈不平衡),或者VB托管的一些句柄失效了, 这将在未来的某个时候引起问题。
至于为什么你的程序会导致VB的IDE挂起,那是因为按F5运行程序,其实VB工作在解释模式下,你编写的程序和VB的IDE是同一个进程,所以你程序中的错误会导致VB的IDE失败,而且经常是滞后,当你的程序退出时, 一些错误会突然发生(最简单的例子,你在VB中申请了一个数组,然后使用CopyMemory来改变它的安全数组结构,如果你在退出程序的时候不改回去,那么VB IDE在程序退出时会因为**空格错误而崩溃,当然这属于BT的用法)。
如果打开一个新的 VB,加载项目,编译它并独立启动它,则不会出现 IDE 错误。 这也是很多人在VB6比较危险的时候调试的常用方式。 或者养成在每个 f5 之前保存的习惯。
补充:有人说,这些80%是你的**问题,如果你换了一个新的VB并且这种问题仍然出现,那么20%基本上被排除在外。 正如我所说,你最好先检查你的**。
如果你实在看不懂,可以发布**片段给大家看,帮你找茬。
-
你的VB有问题...... 这是VB的错,重新安装VB不是你的,,,,你不能再使用它了。
您是否通过编程来操纵内存或其他危险的 API?
如果是这样,那可能是因为你的程序不严谨,如果你只是使用 VB 的内部函数和一些控件,这绝对不是你的程序的问题。
-
这不是VB问题,你检查病毒,因为“**无法读取”意味着无法读取内存,如果它是“0x0000....名称是程序根本没有分配内存。
-
“** cannot be read”是典型的内存访问越界,例如,VB 中的简单语句可能会导致此错误:
copymemory byval 0&, 0, 1 '将数据写入地址 0。
您确定可以直接访问 VB 程序中的内存吗? 或者是否有任何对其他库的引用? 这些库可能不完整或包含有风险的操作。
-
因为a-b=-90,在找它的平方根时有误差,因为负数没有平方根(在实数范围内),所以sqr(x)函数需要参数x 0,而这个程序中的sqr(-90)参数明显是负数,所以提示参数无效。 所以应该选择C。
-
选择答案 C
负数不能取平方根。
-
它后面应该有一个双精度变量,此外,它应该大于 0
-
timer1 time() 中,不要直接使用 n,而是使用隐藏的文本框来保存 n,这在不同的函数中是不一样的。
-
取下闪光灯控件并尝试一下,很可能是这个问题。
只有多了进步才能解决,不死记硬背才能解决问题,也许你打五开用五笔,发现想背词根的时候就开始闹事了,但是你发现不好背,或者背不下来,但时间长了, 你会慢慢地,脑子里想着一个词,手会自然而然地打出来,所以写下来没有多大意义,只有用到的时候,才不会去网上找,现在是互联网时代,有些东西:一点点。
cmd1 中。
open "(在此处输入完整路径,例如 c:,不要错过引号,不要用括号括起来)。" for output as #1 '打开 如果它已经存在,请用新的替换旧的,如果您不想替换它并想继续在文本末尾书写,请将输出更改为附加 >>>More