精華區beta Visual_Basic 關於我們 聯絡資訊
請教各位 假設我在一般模組中(也就是Module1.bas) 寫下了這樣的一個副程式 Sub Mysub For i = 1 to 3 A(i)=i+6 Next i End Sub 接著希望在表單1中呼叫(也就是在Form1中) 因此我寫下 For i = 1 to 3 If A(i) > 2 Then A(i)=A(i)/3 End If Next i 結果在紅色的這行,出現了"陣列索引超出範圍"的錯誤 請問各位,這是什麼原因呢? 又..這要如何解決呢?? 謝謝..拜託大家了~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.224.20.9 > -------------------------------------------------------------------------- < 作者: ravis (總匯) 看板: Visual_Basic 標題: Re: [問題] 關於"模組"的問題 時間: Thu Aug 22 15:21:50 2002 ※ 引述《clifflu (長髮倒數;程式怪)》之銘言: : ※ 引述《Ihope (我期待..)》之銘言: : : 結果在紅色的這行,出現了"陣列索引超出範圍"的錯誤 : : 請問各位,這是什麼原因呢? : : 又..這要如何解決呢?? : : 謝謝..拜託大家了~~~ : 可能是變數沒做宣告吧 ?? : 在模組前面Dim A(3) : 一陣子沒寫大的VB了,所以記得不是很熟 (笑)x 我剛剛試了一下 應該是在模組前沒做宣告 宣告成 public A(3) 就可以了 -- ╭─────╮╭─────┐╭───┐╭┐┌─────┐╭─────╮ ∣ ╭┐∣∣ ╭┐∣∣ ∣∣∣╰┐ ┌╯∣ ╭╯ ∣ ∣∣∣∣ ││∣∣ └╯∣ ∣ ∣ ∣ └╮ ∣ └╯∣∣ └╯∣∣ ∣ ∣ ∣ ╰┐ ∣ ∣ ╭─╯∣ ┌┐∣╰┐ ╭╯╭┘ └╮╭╯ ∣ └───╯─╯└───╯└╯ ╰───╯ꈠ└─────┘╰─────╯ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.221.30.57 > -------------------------------------------------------------------------- < 作者: clifflu (長髮倒數;程式怪) 看板: Visual_Basic 標題: Re: [問題] 關於"模組"的問題 時間: Thu Aug 22 18:15:41 2002 ※ 引述《Ihope (我期待..)》之銘言: : 修改之後就可以了~~ : 謝謝各位.. 對了,想到一件事情 VB有一個它很方便的地方,就是預設來說,變數是不用宣告的 所以在一個一個的小段子中,想要多少暫時變數就用多少 反正寫VB的人,一般也不太需要注意太多吃Ram什麼的問題 (笑) 可是這樣有個壞處,就是在變數打錯啊,或是像這種其實是應該在外面定義的情況 程式撰寫人的警覺性偏低 所以我習慣在寫VB時,第一行就打上 "option explicit" 這樣會強制變數在使用前必需要先宣告,如此發生這類問題的情型就變少囉 當然,也可以在Preference裡設定 不過我每次都忘記在那裡,還是自己手動打比較實用 \^^/ //bow -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.212.3