QA@IT
«回答へ戻る

回答を投稿

Dim projectlist As ArrayList = control.GetProjectList
Dim myTreeNodeArray(project.ProcessList.Count - 1) As TreeNode

この流れからいって、Controller.GetProjectList()内で生成しているProjectClass.ProcessListがNothingなんでしょうね。
例えばイメージが
 ProjectList
  ├プロジェクト1
  │ ├工程1
  │ └工程2
  └プロジェクト2
    └工程1

というイメージだった時、プロジェクトに対して1つも工程(Process)がない時に、Processに該当するクラスなどのオブジェクトを返却していないんでしょうね。
あくまでもプロジェクトは見つかったわけだし、その工程が1つもないというだけでNothingを返しているんだと思います。

そうすると、後処理も、以下のようになりそうですが。

If project.ProcessList.Count < 1 Then
  Continue For
End If
Dim myTreeNodeArray(project.ProcessList.Count - 1) As TreeNode

仮にProcessList = Nothingになることが正しい仕様だとするならば、それを事前にチェックすることになるでしょう。

```VB
Dim projectlist As ArrayList = control.GetProjectList
Dim myTreeNodeArray(project.ProcessList.Count - 1) As TreeNode
```

この流れからいって、Controller.GetProjectList()内で生成しているProjectClass.ProcessListがNothingなんでしょうね。
例えばイメージが
 ProjectList
  ├プロジェクト1
  │ ├工程1
  │ └工程2
  └プロジェクト2
    └工程1

というイメージだった時、プロジェクトに対して1つも工程(Process)がない時に、Processに該当するクラスなどのオブジェクトを返却していないんでしょうね。
あくまでもプロジェクトは見つかったわけだし、その工程が1つもないというだけでNothingを返しているんだと思います。

そうすると、後処理も、以下のようになりそうですが。
```VB
If project.ProcessList.Count < 1 Then
  Continue For
End If
Dim myTreeNodeArray(project.ProcessList.Count - 1) As TreeNode
```

仮にProcessList = Nothingになることが正しい仕様だとするならば、それを事前にチェックすることになるでしょう。