Peter Parker
Mitglied
Hallo @ all,
ich habe in VB.NET 2005 folgendes Problem. Ich starte meine GUI und öffne ein Formular.auf diesem Fprmular kann ich auf verschiedene Registerkarten navigieren. Unterhalb der Registerkarten befindet sich ein Button mit dem ich eine Funkion aufrufe.
Da diese Funktions sehr zeitintensiv ist habe ich diese in einen Thread gepack, um weiterhin in meinem Formular auf den Registerkarten navigieren zu können.
Irgendwie klappt das aber nicht, wenn ich die Funktion starte friert mir mein Formular ein und ich muss auf das ende der Funktion warten.
Jemand eine Ahnung wie ich das Problem beheben kann?
Hier der Quellcode:
Imports System.Threading
Imports System.Xml.XmlWriter
Imports System.Windows.Forms.DataGrid
Imports Communication 'ActiveX VB6 Komponente
Imports System.Data
Public Class oba_025
Dim thStrAbf As New Thread(AddressOf starteAbfrage)
'Button Start aufruf
Private Sub buttAuswstart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttAuswstart.Click
'Threads starten
thStrAbf.Start() 'RPC starten
End Sub
'Serverfunktion aufrufen und Auswahl auswerten
Private Sub starteAbfrage()
Dim srv As New InterfaceClass
Dim timestamp As String
timestamp = " " 'String*15
Try
srv.init() 'Startwerte setzen
srv.launch_oba025as(timestamp)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class
ich habe in VB.NET 2005 folgendes Problem. Ich starte meine GUI und öffne ein Formular.auf diesem Fprmular kann ich auf verschiedene Registerkarten navigieren. Unterhalb der Registerkarten befindet sich ein Button mit dem ich eine Funkion aufrufe.
Da diese Funktions sehr zeitintensiv ist habe ich diese in einen Thread gepack, um weiterhin in meinem Formular auf den Registerkarten navigieren zu können.
Irgendwie klappt das aber nicht, wenn ich die Funktion starte friert mir mein Formular ein und ich muss auf das ende der Funktion warten.
Jemand eine Ahnung wie ich das Problem beheben kann?
Hier der Quellcode:
Imports System.Threading
Imports System.Xml.XmlWriter
Imports System.Windows.Forms.DataGrid
Imports Communication 'ActiveX VB6 Komponente
Imports System.Data
Public Class oba_025
Dim thStrAbf As New Thread(AddressOf starteAbfrage)
'Button Start aufruf
Private Sub buttAuswstart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles buttAuswstart.Click
'Threads starten
thStrAbf.Start() 'RPC starten
End Sub
'Serverfunktion aufrufen und Auswahl auswerten
Private Sub starteAbfrage()
Dim srv As New InterfaceClass
Dim timestamp As String
timestamp = " " 'String*15
Try
srv.init() 'Startwerte setzen
srv.launch_oba025as(timestamp)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
End Class