レガシ VB 6.0 アプリケーションに取り組んでいる VB noob です。
以下の関数内で lineno の値を確認すると、期待値が得られます。
Public Function GetNumOfLines(filename As String) As Integer
Dim lineno as Integer
lineno = 0
Open App.Path + filename For Input As #1
Do While Not EOF(1)
lineno = lineno + 1
Line Input #1, linevar
Loop
Close #1
MsgBox "numOfLines: " & lineno 'This works
End Function
しかし、GetATRNames (下記) から GetNumOfLines を呼び出すと、numOfLines は 0 です。
Public Function GetATRNames() As String()
Dim filename as String
filename = "\atrname.dat"
Dim numOfLines as Integer
numOfLines = GetNumOfLines(filename)
MsgBox "numOfLines: " & numOfLines 'This does not
End Function
numOfLines = GetNumOfLines(filename) が GetNumOfLines 内でチェックしたときとは異なる値を与えている理由についてのアイデアはありますか?