- ベストアンサー
デバッカーについて
VB6のコードをステップインで実行しています。 ↓例で、Case1ではTemp変数に値が入っていることを確認しました。 次にCase1のブレークポイントを解除して、Case2のブレークポイントで止めます。 このときは、Temp変数に値が入っていませんでした。 Case1、Case2の間で値の書き換えはしていません。 対策を教えていただけないでしょうか? 宜しくお願い致します。 Dim Temp As String Private Sub test() As String ・ ・ ・ ・ Temp = test() '<---"XXX"の値を入れます。 End Sub ’Case1、ここでブレークポイントを指定するケース If Temp="xxx" then 'Case2、ここでブレークポイントを指定するケース ・ ・ End If
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
変なところでEnd Subを入れてあるから読解が難しい。 文意に沿えばTempには明らかに値は入っていないとおかしいです。 対策はソースを見てみないことのは分かりません。 スコープの勘違いをしていると思われます。
その他の回答 (1)
- m-take0220
- ベストアンサー率60% (477/782)
回答No.2
Subの中でTempという変数を宣言していたりしませんか? その場合、Sub内でのみ有効な変数Tempに対しての操作になるので、Subを抜けると変数が破棄されます。
補足
ありがとうございました。 ステップインで、最初から実行していくと問題なく、Temp変数に値が入っています。 原因が解りません。