【问题标题】:VB6 split function runtime error 9 subscript out of rangeVB6拆分函数运行时错误9下标超出范围
【发布时间】:2015-03-08 12:29:26
【问题描述】:
token = Split(thisfile, "List1")(1)

token = RC4(token, Passwd)

在第一行我得到 vb6 运行时错误 9 下标超出范围 我已经尝试过使用 UBound 但不起作用...在 windows 7 64 位上不会出现此错误...仅在 32 位上出现?

完整代码(文件范围 - 加密):

Const mypass = "Passwd"

Sub Main()

Dim thisfile As String, token As String, selfpath As String

'The path to itself

selfpath = App.Path & "\" & App.EXEName & ".exe"

'open itself and get all the data in one variable

Open selfpath For Binary As #1

thisfile = Space(LOF(1))

Get #1, , thisfile

Close #1

token = Split(thisfile, "List1")(1)

token = RC4(token, Passwd)

【问题讨论】:

  • 查看thisfile 的大小(和内容)并检查您正在阅读的文件是否真的存在,以及是否是您期望的版本

标签: vb6 network-programming


【解决方案1】:

Split 返回一个基于 0 的数组。您正在尝试访问第二个元素(元素 1)。由于您收到此错误,这意味着在此文件中找不到“List1”。

【讨论】:

  • 我对文件进行十六进制处理,List1 在正确的位置...在 64 位上,相同的错误仅在 vb6 调试模式下出现,但编译后运行的程序代码
  • 你确定这行得通吗?正如vb6.us/tutorials/vb-string-array-functions-split-join-filter 告诉我的那样,您可以拆分为一个字符...今晚我必须打开我的旧电脑并检查一下。
猜你喜欢
  • 2019-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多