【问题标题】:VB: Declaring variables in For loopVB:在 For 循环中声明变量
【发布时间】:2011-03-05 06:07:21
【问题描述】:

我已经尝试在 For 循环中声明变量已经有一段时间了,但我一直没能找到方法。
每次在二维数组(测量 32x16)中遇到特定数字时,我都会尝试创建一个新图像(平铺)。我可能需要补充一点,我使用的是 Visual Basic 6。

目前我正在使用以下代码:

Option Explicit
Dim wCount As Integer
Dim hCount As Integer
Dim arrTiles(31, 15) As Integer


Private Sub Form_Load()
    For wCount = 0 To 31 Step 1
        For hCount = 0 To 15 Step 1
            ' -Declare variables
            ' -I.E. Dim NAME As Image
        Next
    Next
End Sub

但是,上面的代码(使用 Dim tile1 作为图像)在尝试访问新添加的图像(例如 tile1.Width)的属性之一时给我一个错误。

有没有办法在运行时以这种方式声明变量?

真诚
- Birjolaxew

【问题讨论】:

  • 错误是 NullReferenceException 吗?
  • @matt: 不,“对象变量或未设置块变量”。

标签: vb6 for-loop


【解决方案1】:

在尝试访问 Image 变量的任何属性之前,您必须将有效的 Image 对象分配给它。例如,这很好用:

    For wCount = 0 To 31 Step 1
        For hCount = 0 To 15 Step 1
            ' -Declare variables
            Dim tile1 As Image
            tile1 = Image.FromFile("c:/test.png")
            Dim width = tile1.Width
        Next
    Next

【讨论】:

  • 谢谢!然而,不幸的是,我害怕我需要更多帮助。如果我尝试使用 Image.FromFile("PATH"),它表示找不到这样的函数。我尝试谷歌搜索,发现“LoadPicture”,但我似乎也无法让它工作。你有没有想过这个功能可能是什么?
  • 抱歉,我没有使用 VB6。看起来 tile1.Picture = LoadPicture("PATH") 会像我上面的例子那样做。如果这不起作用,我不知道为什么。也许如果您在原始帖子中发布了更多代码,那么具有更多 VB6 知识的人可能会看到您的问题。我希望我能提供更多帮助。
  • 感谢您的帮助。我会自己研究一下。同时,我将您的答案标记为答案,因为它显然帮助我在通往答案的道路上走得很远。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-05-28
  • 2015-03-25
  • 1970-01-01
  • 2021-08-29
  • 1970-01-01
相关资源
最近更新 更多