Entwickler-Ecke
Basistechnologien - Threads
Flash106 - Fr 30.03.07 10:14
Titel: Threads
Hallo,
ich bräuchte einen Thread hab das aber in C# noch nie gemacht. Den Thread kriege ich so schon zum laufen und die Methode die Aufgerufen wirt, wirft dann den Fehler das ein anderer Thread als der den ich gemacht habe dafür zuständig is. Hier mal code:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12:
| Thread[] DeleteThread = new Thread[1]; DeleteThread[0] = new Thread(new ThreadStart(DeleteAll)); DeleteThread[0].Start(); ... private void DeleteAll() { string[] files = Files; for (int i = 0; i < files.Length; i++) { progressBarAll.Maximum = (int)files.Length; ... |
Wie macht man denn am besten einen Thread für sowas? Ich will ja nur nicht das mein ganzen Programm still steht wenn DeleteAll aufgerufen wird und arbeitet.
Christian S. - Fr 30.03.07 10:39
Hallo!
Schau Dir mal die Hilfe zur Invoke-Methode der Form an (ich weiß nicht, ab welcher Klasse das vorhanden ist, aber Form hat's bestimmt ;-))
Grüße
Christian
Flash106 - Fr 30.03.07 10:52
Hm hab mir ein paar bsp angesehen. Hab nich alles verstanden, aber soll ich jetz alle Sachen die etwas ander GUI ändern in eine extra methode stopfen und das mit dieser Invoke sachen benutzen oO. Sehe noch nich so ganz durch..
Christian S. - Fr 30.03.07 10:54
Flash106 hat folgendes geschrieben: |
aber soll ich jetz alle Sachen die etwas ander GUI ändern in eine extra methode stopfen und das mit dieser Invoke sachen benutzen oO. |
Ja, genau. Invoke sorgt dafür, dass Zugriffe auf die GUI auch im "GUI-Thread" ausgeführt werden. Damit wird verhindert, dass sich da zwei Threads in die Haare kriegen.
Flash106 - Fr 30.03.07 12:16
So hab Invoke eingebaut und der Fehler ist weg. Allerdings "hängt" mein Programm immernoch wenn DeleteAll läuft. Ich möchte aber gerne das man dann immer noch mit dem Programm interagieren kann óò...
Flash106 - Fr 30.03.07 12:20
Nein mist sorry hat sich erledigt. Hatte das starten des thread ausgeklammer ^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!