Suchergebnisse

Suchergebnisse 1-10 von insgesamt 10.

  • Benutzer-Avatarbild

    Hallo, ich möchte auf ein ListView aus einem anderen gestarteten Thread zugreifen. Deshalb habe ich das folgende Sub erstellt, auf welches der neue Thread aufruft: VB.NET-Quellcode (6 Zeilen) Mein ListView füllt sich auch, wie ich mit MsgBox erkennen kann. Leider bleibt das Listview trotzdem leer... Ich habe schon an TestListView.Refresh oder Me.Refresh gedacht, aber leider führt keine der beiden Methoden zu einer Anzeige... Wo liegt mein Fehler? In richtiges Unterforum verschoben. ~fufu

  • Benutzer-Avatarbild

    Danke, ich werde mich mal mit dem Thema Invoke auseinandersetzen. @VaporiZed CheckForIllegalCrossThreadCalls = False habe ich nirgends stehen. Die Meldung hatte ich eher schon, als ich dem Thread das ListView als Variable übergeben habe - was natürlich Quark ist. Danke, ich vermelde später Erfolge / Misserfolge EDIT: so? VB.NET-Quellcode (3 Zeilen) Weil da bekomme ich den Fehler "System.InvalidOperationException: "Invoke oder BeginInvoke kann für ein Steuerelement erst aufgerufen werden, wenn da…

  • Benutzer-Avatarbild

    @ErfinderDesRades Upps, das war nicht mein Ziel. Ich versuch es nochmal... Zitat: „aus einem NebenThread kann man nicht auf Controls zugreifen - das geht aus technischen Gründen nicht.“ ok Zitat: „Sondern man muss den Zugriff per Control.BeginInvoke() an den MainThread zurück-delegieren. Controls Threadsicher machen Lass dir nix anneres einreden - extrem weit verbreitet ist, Control.Invoke zu empfehlen, was allerdings gegenüber .BeginInvoke ganz unnütz Performance verschenkt.“ .BeginInvoke schei…

  • Benutzer-Avatarbild

    Ok, danke für die info, tatsächlich wird .BeginInvoke nur nicht angezeigt. Es läuft momentan so: MainForm: Form1.Show() Form1.SubDasDenThread1Startet() Dann kommen die Aufgaben in den Threads... In meinem Thread1 führe ich nun folgendes aus: VB.NET-Quellcode (3 Zeilen) tempLvItem ist mein einzufügendes ListViewItem. Das Fenster (Form1) ist definitiv offen, das ListView wird schon angezeigt. Dennoch erhalte ich die Meldung System.InvalidOperationException: "Invoke oder BeginInvoke kann für ein St…

  • Benutzer-Avatarbild

    Okok, bleiben wir erst beim ersten Lösungsansatz. Ich habe jetzt also in Form1.vb folgendes stehen: VB.NET-Quellcode (4 Zeilen) Die MsgBox sorgt nur für Wartezeit... Aber das Fenster ist immer schon vorher da. Das Sub oben wird aufgerufen aus einem anderen Sub, aus einem anderen Thread via: VB.NET-Quellcode (1 Zeile) Als Ergebnis bleibt leider: Unbenannt12.jpg (geschwärzt wegen anderem Variablenname) Im Sub des Thread kann ich Me.BeginInvoke nicht nutzen, da das Sub in einem Module sitzt und dor…

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Jo, dassis jetzt der FolgeFehler, den ich bereits in post#8 vermutete: Du kannst in einem NebenThread auch kein ListViewItem erstellen. Also auch das Erstellen von ListViewItem muss im MainThread erfolgen. “ Ok Warum den das? Ist es nicht egal, wo ich eine Variable erzeuge? VB.NET-Quellcode (1 Zeile) steht in meinem Thread drin.

  • Benutzer-Avatarbild

    Hm ok. Ich persönlich verstehe aber eins noch nicht. Mit dem Code aus dem ersten Post habe ich irgendwo ja schon mal meine ListViewItems reingeschoben, denn TestListView.Items.Count.ToString hat ja die korrekte Anzahl ausgegeben. Wo sind die Daten denn dann gelandet, wenn nicht in meinem ListView?

  • Benutzer-Avatarbild

    Ich hab spaßenshalber mal ein Form1.Show() aufgerufen. Da kommt wirklich kurz das Fenster nochmal! Und da ist tatsächlich das ListView noch nicht geladen. Kann also nicht gehen. Ok - Datentyp vs Objekt. Kapiert. Wie genau führe ich jetzt aber etwas in meinem wirklichen Form1 aus? Nachdem ich meinen Thread1 gestartet hab, müsste ich warten oder sowas, bis die anderen Fertig melden. Aber dann würde ja das Form1 wieder einfrieren... oder bin ich völlig auf dem falschen Dampfer?

  • Benutzer-Avatarbild

    EDIT: @VaporiZed Das versuche ich ja die ganze Zeit. Aber dann meckert VB, dass ich das noch nicht erzeugt hätte. Selbst wenn ich die Daten aübergebe und dann erst die ListViewIterms erzeuge...

  • Benutzer-Avatarbild

    Moin, danke für die Antworten. Ich setze mich ran! Grüße. //EDIT: Übergabe des Forms hat geholfen und diese Lösung funktioniert. Gelöst! Danke!