ACTIVE DIRECTORY PROGRESS BAR
Pessoal estou tentando carregar alguns dados do Active Directory junto com um progress bar, porém não estou conseguindo.
Segue anexo, se alguém puder dar alguma olhada eu agradeço
Sites de referencia:
http://msdn.microsoft.com/en-us/library/ms973834.aspx#dotnetadsearch_topic9
http://stackoverflow.com/questions/17793939/progress-bar-to-report-status-of-ad-search
Segue anexo, se alguém puder dar alguma olhada eu agradeço
Sites de referencia:
http://msdn.microsoft.com/en-us/library/ms973834.aspx#dotnetadsearch_topic9
http://stackoverflow.com/questions/17793939/progress-bar-to-report-status-of-ad-search
Public Sub StartSearch()
Dim rootEntry As DirectoryEntry = GetDirectoryEntry([Ô]OU=USERS,OU=PJUN,OU=AM,OU=PROD[Ô])
If Not IntegratedAuthentication Then
[ô] rootEntry.Username = UserID
[ô]rootEntry.Password = Password
End If
Dim searcher As New DirectorySearcher(rootEntry)
searcher.PropertiesToLoad.AddRange(PropertiesToLoad)
searcher.PageSize = PageSize
searcher.ServerTimeLimit = New TimeSpan(0, 10, 0)
searcher.Filter = [Ô](&(objectCategory=person)(objectClass=user))[Ô]
Dim queryResults As SearchResultCollection
queryResults = searcher.FindAll()
[ô]Dim queryResults As SearchResultCollection
RaiseEvent StartProgressBar(queryResults.Count)
Dim result As SearchResult
Dim resultCount As Integer = 0
For Each result In queryResults
RaiseEvent ResultFound(result)
UpdateProgress(queryResults.Count)
resultCount += 1
Next
RaiseEvent SearchCompleted(resultCount)
End Sub
Humm...não funcionou não....ele deu um erro
Erro:
Cross-thread operation not valid: Control [ô]ProgressBar1[ô] accessed from a thread other than the thread it was created on.
Dai eu alterei para:
Me.Invoke(DirectCast(AddressOf UpdateProgress, Action(Of Integer)), queryResults.Count)
Porém a progressbar nao funciona....nao altera nada...
Erro:
Cross-thread operation not valid: Control [ô]ProgressBar1[ô] accessed from a thread other than the thread it was created on.
Dai eu alterei para:
Me.Invoke(DirectCast(AddressOf UpdateProgress, Action(Of Integer)), queryResults.Count)
Porém a progressbar nao funciona....nao altera nada...
Você precisa mesmo que isso esteja dentro de uma thread? Não me parece necessário...
Na realidade não, só achei que seria a melhor solução, o que me importa é carregar a [Ô]progressbar[Ô] de acordo com a atualização do dados.
1 - Veja se queryResults está retornando algo
2 - Use threads quando forem necessárias. Ao contrário do que se possa pensar, elas não deixam mais rápido, simplesmente tem a capacidade de rodar em paralelo, nada mais.
2 - Use threads quando forem necessárias. Ao contrário do que se possa pensar, elas não deixam mais rápido, simplesmente tem a capacidade de rodar em paralelo, nada mais.
Sim o queryResults está funcionando perfeitamente.
Só não sei como alimentar a progressbar dessa forma, sem travar o form.
Só não sei como alimentar a progressbar dessa forma, sem travar o form.
Simplesmente faça todo o procedimento de maneira normal, sem usar uma thread.
Tópico encerrado , respostas não são mais permitidas