vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Thread und Forms-Aktualisierung 
Autor: sv00010
Datum: 18.06.14 23:10

Ich habe ein Problem mit der Aktualisierung des Labels.
Es fängt an mich zu nerven, weil ich nicht mehr weiß wo nach ich noch suchen könnte.
Es kommt immer die Fehlermeldung
"Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn das Fensterhandle erstellt wurde."
wenn ich auf den Button drücke.
Die Exception entsteht bei Me.Invoke(New SetTextToLabel_Progress(AddressOf DelegateRoutine_SetText), New Object() {strTextIN}) .
Ich poste hier mal den Code:

Public Class Form1
 
    Private Delegate Sub SetTextToLabel_Progress(ByVal strTextIN As String)
 
    Structure INTERNAL_DATA_SHARED
        Dim strAssemblyname         As String
        Dim strFullyQualifiedName   As String
        Dim ThisVersion             As System.Version
    End Structure
 
    Shared ID_Shared                As INTERNAL_DATA_SHARED
 
    Dim Thread_Download As System.Threading.Thread = Nothing
 
 
    Public Sub New()
 
        ' Dieser Aufruf ist für den Windows Form-Designer erforderlich.
        InitializeComponent()
 
        ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf 
        ' hinzu.
 
        'Als allererstes den Assemblynamen dieser Assembly ermitteln
        Form1.Init_Assemblyname()
        'FullyQualifiedName herausfinden
        Form1.Init_FullyQualifiedName()
        'Version herausfinden
        Form1.Init_ThisVersion()
 
    End Sub
 
    Shared Sub Init_Assemblyname()
        Dim AssemblyThis As System.Reflection.Assembly = Nothing
        AssemblyThis = System.Reflection.Assembly.GetExecutingAssembly()
        ID_Shared.strAssemblyname = _
          BASICS.Main.AssemblySpecial.GetAssemblynameForEntry_String( _
          AssemblyThis )
    End Sub
    Shared Sub Init_FullyQualifiedName()
        Dim AssemblyThis As System.Reflection.Assembly = Nothing
        AssemblyThis = System.Reflection.Assembly.GetExecutingAssembly()
        ID_Shared.strFullyQualifiedName = _
          BASICS.Main.AssemblySpecial.GetFullyQualifiedName_ForEntry_String( _
          AssemblyThis )
    End Sub
    Shared Sub Init_ThisVersion()
        Dim AssemblyThis As System.Reflection.Assembly = Nothing
        AssemblyThis = System.Reflection.Assembly.GetExecutingAssembly()
        ID_Shared.ThisVersion = _
          BASICS.Main.AssemblySpecial.GetVersion_ForEntry_Version( AssemblyThis _
          )
    End Sub
    Shared ReadOnly Property ASSEMBLYNAME As String
        Get
            return ID_Shared.strAssemblyname
        End Get
    End Property
    Shared ReadOnly Property FullyQualifiedName As String
        Get
            return ID_Shared.strFullyQualifiedName
        End Get
    End Property
    Shared ReadOnly Property ThisVersion As System.Version
        Get
            return ID_Shared.ThisVersion
        End Get
    End Property
 
    Private Sub Button1_Click( ByVal sender As System.Object,  ByVal e As _
      System.EventArgs) Handles Button1.Click
        Thread_Download.Start()
    End Sub
 
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles Me.Load
        Me.CreateControl()
        Me.Label_Progress.CreateControl()
 
 
        Thread_Download = new System.Threading.Thread(AddressOf _
          Module1.Thread_Download_Routine)
        Thread_Download.Priority = Threading.ThreadPriority.Normal
    End Sub
 
    Sub SetText_Invoke(ByVal strTextIN As String)
        Me.Invoke(New SetTextToLabel_Progress(AddressOf _
          DelegateRoutine_SetText), New Object() {strTextIN})
    End Sub
 
    Private Sub DelegateRoutine_SetText(ByVal strTextIN As String)
        Me.Label_Progress.Text = strTextIN
        Me.Label_Progress.Show()
        Me.Label_Progress.Refresh()
    End Sub
 
End Class
Module Module1
 
 
    Sub Thread_Download_Routine()
 
         '***********************************************
         'anderer Code raus gemacht, weil Posting sonst zu lang
         '***********************************************
 
            'Versuchen Text ins Label zu schreiben
            Form1.SetText_Invoke("Hallo")
 
            '***********************************************
            'Hier noch weiter programmieren
            '***********************************************
 
 
        Return
errExit:
        Return
    End Sub
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Thread und Forms-Aktualisierung1.859sv0001018.06.14 23:10
Re: Thread und Forms-Aktualisierung1.042Kuno6019.06.14 05:57
Re: Thread und Forms-Aktualisierung1.045Manfred X19.06.14 06:07
Re: Thread und Forms-Aktualisierung1.024sv0001019.06.14 08:03

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel