2011-07-15 7 views
0

私はVBSの新機能ですが、最も単純なものでも実装できません。プライベートメンバーに配列を保持するクラスが必要です。配列を「注入」したいので、私はLetの機能を使って「セッターメソッド」を実装しようとしました。レッツ-方法で:Property Let for Arraysの使い方は?

Dim allowed 
allowed = Array("task1", "task2") 
Dim phase 
Set phase = New CPhase 
phase.AllowedTasks = allowed 

これは、 "型の不一致マイクロソフトのVBScript実行時エラー(...)" になり、次のよう

Class CPhase 

    Private m_AllowedTasks() 

    Public Property Let AllowedTasks(p_AllowedTasks) 
     m_AllowedTasks = p_AllowedTasks 
    End Property 

    Private Sub Class_Initialize() 
     ReDim m_AllowedTasks(0) 
End Sub 
End Class 

このクラスが使用されています。私はまた、 "ByVal"、 "ByRef"のさまざまな組み合わせを使ってみましたが、VBSの経験が全くないので、解決策を見つけることができませんでした。だから私は何が間違っているの?

有用なリソースへのヒントやリンクは、非常に高く評価されています。 ありがとう!ないサイズの固定されたアレイ -

答えて

1

犯人は醜態を作成

Private m_AllowedTasks() 

あります。 ()を取り除くだけです。

Private m_AllowedTasks 

(空の)バリアントを作成して、有用な(再構成可能な)配列にすることができます。

+0

ありがとうございました! ;-) – philonous