поток выдает ошибку HRESULT 800ac472 - PullRequest
0 голосов
/ 29 августа 2011

Я создаю поток, читаю набор данных и записываю записи в Excel.Но поток не читает полные записи и разрывается в середине после прочтения 25 записей.

        If dsCostUsage.Tables(0).Rows.Count > 150 Then
            Dim t As New Thread(AddressOf FillDataRows1)
            t.Start(worksheet)
        End If


Private Sub FillDataRows1(ByVal ws As Worksheet)

    Dim startuprow As Integer = 7
    Dim colpointer As Integer = 0
    Dim rowpointer As Integer = 0
    Dim str As String
        While rowpointer <= dsCostUsage.Tables(0).Rows.Count - 1
            While colpointer <= dsCostUsage.Tables(0).Columns.Count - 1
                str = dsCostUsage.Tables(0).Rows(rowpointer)(colpointer).ToString()
                DirectCast(ws.Cells(startuprow, colpointer + 1), Range).Value2 = item
                colpointer += 1
            End While
            colpointer = 0
            rowpointer += 1
            startuprow += 1
        End While

    End sub

Не знаю точной причины, по которой он прерывается в середине.Есть ли в любом случае, что нам нужно увеличить время или еще что-то есть?

Я думаю, прежде чем рабочий поток завершает запись, основной поток завершает работу и прерывает рабочий поток, чтобы не продолжать.

1 Ответ

0 голосов
/ 29 августа 2011

Вы можете попробовать позвонить t.Join ()

Это должно заставить главный поток ждать, пока другие не закончат.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...