VB6→VS2005アップグレード後
いつもお世話になっております。
VBを勉強中です。
VB6→2005にアップグレード後、下記のエラーが発生しました。
"オブジェクト参照がオブジェクト インスタンスに設定されていません。"
以前もこちらでアドバイスをいただき、
デザインの中でADDされているかどうかを確認し、解決に結びついたので
今回も同様かと思い、色々と行ったのですが解決しません。
frmapli_S3のデザイナ内に下記が存在しましたが
原因はここでしょうか?
CType(Me.Frame1, System.ComponentModel.ISupportInitialize).EndInit()
以下はVB6での正常稼動時のソースです。
Public Sub ShowPermValue()
Dim Textbox As Textbox
Dim i As Long: Dim j As Long: Dim k As Long
For i = 0 To 19
For j = 1 To 8
k = i * 10 + j
Set Textbox = frmapli_S3.Controls("text" & k)
Textbox.Text = PermValue(k)
Next
Next
End Sub
Public Sub SetPermValue()
Dim Textbox As Textbox
Dim i As Long: Dim j As Long: Dim k As Long
For i = 0 To 19
For j = 1 To 8
k = i * 10 + j
Set Textbox = frmapli_S3.Controls("text" & k)
PermValue(k) = Textbox.Text
Next
Next
下記はVB2005アップグレード時のソースです。
Public Sub ShowPermValue()
Dim Textbox As TextBox
Dim i, j, k As Integer
For i = 0 To 19
For j = 1 To 8
k = i * 10 + j
Textbox = CType(frmapli_S3.Controls("text" & k), TextBox)
TextBox.Text = PermValue(k)
Next
Next
End Sub
Public Sub SetPermValue()
Dim Textbox As TextBox
Dim i, j, k As Integer
For i = 0 To 19
For j = 1 To 8
k = i * 10 + j
Textbox = CType(frmapli_S3.Controls("text" & k), TextBox)
PermValue(k) = Textbox.Text ←ここでエラー
Next
Next
End Sub
補足
'System.IndexOutOfRangeException' のハンドルされていない例外が demo.exe で発生しました。 追加情報 : インデックスが配列の境界外です。 とでました。 ありがとうございます。