Suchergebnisse
Suchergebnisse 1-10 von insgesamt 10.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
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
-
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…
-
@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…
-
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…
-
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…
-
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.
-
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?