いつも大変お世話になっております。masafumi55です。今回はクラスの代入について調べてもわからないことが発生いたしました。
お忙しいところ恐れ入りますがご教示のほどお願いいたします。
【質問事項】
<前提>
・モジュールAの関数Aで代入した値を、同じモジュールAの関数Aで抽出する場合、代入した値を抽出することができた。
しかしながら、モジュールAの関数Aで代入した値を、同じモジュールAの今度は関数Bで抽出する場合、代入した値を抽出することができず、値はnullまたは"空白"の状態だった。
<質問>
****「「クラスのメンバ変数に値を代入した場合においても、他の関数内でその代入値を使用する場合には、
通常の変数同様に、引数での受け渡しが前提となるのでしょうか。」」
私のイメージでは、クラスに代入した値は、どのモジュールおよび関数内で呼び出した場合でも、代入値を参照できるというものです。
しかしながら、下記の<コード概要>のとおり、それが出来なかったため、いろいろ調査しましたが、回答を得ることが出来ませんでした。
<コード概要>
'<クラス名:ClassTemporary> Public tpBcName As String
'<フォーム> Dim classTemporary As classTemporary '(注)関数外のモジュールにて宣言。 Private Sub SpinButton1_Change() Set classTemporary = New classTemporary classTemporary.tpBcName = "鬼滅" MsgBox classTemporary.tpBcName ' ←(注)こちらはきちんと代入値「"鬼滅"」が表示されます。 Public Function errorManEffect(ByVal page As Integer)' ← (注)エラー処理になります。 Set classTemporary = New classTemporary MsgBox classTemporary.tpBcName ' ←(注)こちらは、「""」が表示されてしまいます。
回答1件
あなたの回答
tips
プレビュー