2012-08-22 30 views
-1

我知道这个错误已被询问了很多次,但我仍无法找到如何避免空值,我只是发布代码并指向导致该行的原因错误未将对象引用设置为对象的实例

Private Sub loadRevFiles() 
    ' load all the SVN information for the selected revision.' 
    Dim a, b, RevNo, RevDataCnt As Integer 
    ReDim filesAtRev(0 To SvnData(SvnData.Length - 1).RevNo)'this line throw the error' 

    RevDataCnt = 0 

    ' loading all the changes files into datastructure RevsionsReportDataStruct' 
    For a = 0 To SvnData.Length - 1 
     RevNo = SvnData(a).RevNo 
     If RevNo > HeadRev Then Continue For 
     For b = 0 To SvnData(a).changedFileNames.Length - 1 
      If SvnData(a).changedFileNames(b).Contains(".dcm") Then 
       ReDim Preserve RevisionsData(0 To RevDataCnt) 
       RevisionsData(RevDataCnt).RevNumber = RevNo 
       RevisionsData(RevDataCnt).FileName = SvnData(a).changedFileNames(b) 
       RevisionsData(RevDataCnt).FilePathAndName =   SvnData(a).changedPathAndFileNames(b) 
       RevisionsData(RevDataCnt).FileAction = SvnData(a).FileAction(b) 
       RevisionsData(RevDataCnt).SVNNo = a 
       RevDataCnt = RevDataCnt + 1 
      End If 
     Next 
    Next 
End Sub 

这是一个功能的工具用来读取DCM文件中找到的变化并导出所有每当你提交更改你有一个新版本 出于某种原因,该功能在工作非常细,以excel文件当修订版本的数量很小但根本没有工作时修改的文件数量很高..

Yo UR帮助表示高度赞赏:)

+1

为什么你在C#中标记这个问题,并且在VB中明显地显示它? –

回答

2

如果此行抛出一个异常NullReference

ReDim filesAtRev(0 To SvnData(SvnData.Length - 1).RevNo) 

然后要么SvnDataNothingSvnData的最后一个元素是没有。

很难判断哪一个是因为我们对SvnData来自哪里一无所知,但如果您能够重现问题,您应该能够轻松地通过它进行调试并为您自己检查这些值。

一旦你找到了什么得到了Nothing问题的值,你需要制定出为什么,并且无论是处理这种情况(如果它是合法的)或修复的原因(如果它不应该是Nothing )。

相关问题