2011-12-09 19 views
2

外部スクリプトからPublicプロパティを取得する方法を知りたいと思います。テストコードは以下の通りです。このメソッドを使用してtValueの空の変数を表示しているようです。外部スクリプトからPublicプロパティの変数を取得する

私はここで何かしていないのですか?

'External Code 
Set nObj = New Test 
Response.Write(nObj.tValue) 

'The Class 
Class Test 
    Public Test1 

    Public Property Get tValue 
     tValue = Test1 
    End Property 

    Sub Loadit 
     Test1="123" 
    End Sub 
End Class 

答えて

2

コンストラクタの名前が正しくありません。従来のASPのクラスのコンストラクタのデフォルト名はClass_Initializeです。それに基づいて、あなたのコードは次のようになります。

'External Code 
Set nObj = New Test 
Response.Write("tValue = " & nObj.tValue) 

'The Class 
Class Test 
    Private Test1 

    Public Property Get tValue 
     tValue = Test1 
    End Property 

    Public Sub Class_Initialize 
     Test1 = "123a" 
    End Sub 
End Class 

それとも、そのまま自分のクラスのコードを維持したい場合、あなたはあなたの外部コードを変更する必要があります。

'External Code 
Set nObj = New Test 
nObj.Loadit 
Response.Write(nObj.tValue) 
+0

+1 'Test1'も'非公開 'にする必要があります。 – AnthonyWJones

+0

@AnthonyWJonesありがとう、良い点 - 修正 –

0

Nevermind、それはSubを最初に呼び出さなかったからです。

これは修正されました。

'External Code 
Set nObj = New Test 

Call nObj.Loadit 

Response.Write(nObj.tValue) 
+0

フン!遅すぎる1分: –

関連する問題