vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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
Datenbank öffnen, Treeview füllen als Hintergrundprozess 
Autor: jasmina
Datum: 22.06.10 15:57

Hallo,

ich stehe noch am Anfang von VB2005.
Habe ein Projektmappe mit zwei Projekten.
Im einen Projekt befinden sich Formulare etc. das zweite Projekt ist als DLL konzipiert mit Öffnen der Datenbank, sowie mehreren Benutzersteuerelementen, die ich im ersten Projekt nutze.

Das Projekt soll nun mit einem Loginfester gestartet werden.
Während das Loginfester läuft, also der Benutzer Eingaben etc macht, soll bereits die Datenbank geöffnet werden, Tabellen ausgelesen, sowie 2 Treeview's mit den Tabellen angaben erstellt werden.
Das Loginfester hat also den Focus und nach dem Login erfolgt sofort das Anzeigen des Hauptformulars mit den beiden Treeviews.

Habe nun versucht einen Hintergrundprozess zu verwenden.
Jedoch wenn ich zum Erstellen der Treeview komme bekomme ich folgende Fehlermeldung:.
Der für dieses Steuerelement durchgeführte Vorgang wird vom falschen Thread aufgerufen. Marshallen Sie den richtigen Thread mit Control.Invoke oder Control.BeginInvoke, um den Vorgang auszuführen.

Was bedeutet dies?

Bisher habe ich folgenden Code:
FormularCode:
Imports System.IO
Imports System.ComponentModel
 
Public Class frmLayoutgenerator
  Dim thBackround As BackgroundWorker        'Thread
  <pre><code>Public Sub New()
        InitializeComponent()
        Backround_Prozess()                  'Hintergrundprozess starten
  End Sub
Private Sub Backround_Prozess()
    thBackround = New BackgroundWorker
    AddHandler thBackround.DoWork, AddressOf thBackround_dowork
    AddHandler thBackround.RunWorkerCompleted, AddressOf thBackround_Completed
    thBackround.RunWorkerAsync()
  End Sub
Private Sub thBackround_DoWork(ByVal sender As Object, ByVal e As _
  DoWorkEventArgs)
      pbenTreeview.Datenbank_OEffnen()    'DB geöffnet, Tabelle mit DataReader 
      ' geöffnet
 
      BentrvFeldDict1.benTreeview_FeldDictionary_anzeigen()           'TreeView 
      ' aufbauen
      BentrvProgDict1.benTreeview_ProgrammDictionary_anzeigen()       'Treeview 
      ' aufbauen
  End Sub
End Class
dll um Datenbank und Tabellen zu öffnen, sowie Treeview zu befüllen
Public Sub Informix_Datenbank_aufbauen()
   modInformixVerbindung.DatenbankConnection_Aufbauen()
   If pbDBOK = True Then
     'DB Verbindung geöffnet
     modInformixVerbindung.Tabelle_Felddict_oeffnen()
     modInformixVerbindung.Tabelle_ProgDict_oeffnen()
   End If
End Sub
Public Sub benTreeview_FeldDictionary_anzeigen()
  Dim lfdnr As Integer
  Dim Punkt As String = "", KnPunkt As String = "", UntPunkt As String = "", _
    Index As String = ""
 
  Do While rsFeldDict.Read
     Punkt = rsFeldDict("dict_bereich").ToString
     If KnPunkt = Punkt Then
         Index = rsFeldDict("dict_lfdnr").ToString   'Unterknotenpunkt anlegen                     
         UntPunkt = rsFeldDict("dict_feldname").ToString 
         trvFeldDict.Nodes(lfdnr).Nodes.Add(Index, UntPunkt)
     Else
        If KnPunkt <> "" Then lfdnr = lfdnr + 1      'HauptKnotenpunkt anlegen
        KnPunkt = rsFeldDict("dict_bereich").ToString
        Index = rsFeldDict("dict_lfdnr").ToString
        trvFeldDict.Nodes.Add(Index, KnPunkt)   FEHLERMELDUNG!!!!!
         'Unterknotenpunkt anlegen   (1. Unterknotenpunkt)
        Index = rsFeldDict("dict_lfdnr").ToString  & "_1"
        UntPunkt = rsFeldDict("dict_feldname").ToString  
       trvFeldDict.Nodes(lfdnr).Nodes.Add(Index, UntPunkt)
    End If
  Loop
End Sub
wie kann ich auch die Treeview's im Hintergrund befüllen lassen?

Ohne den Hintergrund-Prozess funktioniert das Befüllen der Treeview's.

Danke
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank öffnen, Treeview füllen als Hintergrundprozess5.007jasmina22.06.10 15:57
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.328ModeratorFZelle22.06.10 17:07
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.228jasmina23.06.10 10:29
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.492jasmina22.06.10 17:50
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.189ModeratorFZelle22.06.10 19:27
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.291jasmina23.06.10 09:56
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.239ModeratorFZelle23.06.10 15:11
Re: Datenbank öffnen, Treeview füllen als Hintergrundprozess3.207jasmina23.06.10 16:59

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