• ベストアンサー

デバッカーについて

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

質問者が選んだベストアンサー

  • ベストアンサー
  • gungnir7
  • ベストアンサー率43% (1124/2579)
回答No.1

変なところでEnd Subを入れてあるから読解が難しい。 文意に沿えばTempには明らかに値は入っていないとおかしいです。 対策はソースを見てみないことのは分かりません。 スコープの勘違いをしていると思われます。

noname#187796
質問者

補足

ありがとうございました。 ステップインで、最初から実行していくと問題なく、Temp変数に値が入っています。 原因が解りません。

その他の回答 (1)

回答No.2

Subの中でTempという変数を宣言していたりしませんか? その場合、Sub内でのみ有効な変数Tempに対しての操作になるので、Subを抜けると変数が破棄されます。

関連するQ&A