Threads und Eingefrorenes Fenster

Hallo,

Ich progge grade an einer Anwendung, welche im Hintergrund etwas berechnen soll, das Hauptfenster aber dabei nicht beeinträchtigt wird.

Dazu fiel mir nur das Stichwort „Thread“ ein. Jetzt habe ich diese Berechnung schon in einen Thread geworfen, aber das Haupfenster ist immer noch unbenutzbar. Weder die Uhr, noch alles andere läuft weiter.

Was mache ich falsch? Wie sieht generell das Proggen mit Theads aus, aso Tutorials findet man dummerweise nicht viel, immer nur gleich so Supererklärungen, die man als normaler Mensch nicht versteht.

Nur kurz zur Erläuterung meines Programmes. Ich habe ne riesen StringList von 630000 Zeilen und die soll nach Strings suchen und wenn diese vorkommen, diese durch andere ersetzen (welche strings durch was ersetzt werden, wird aus ner Edit-Komp. geholt). Während nun diese 630000 Zeilen ersetzt werden, funzt nichts mehr. Der Rechner ist zu 100 % ausgelastet und das Main Fenster aktualisiert die Uhrzeit nicht, und gibt auch nicht auf der Statusbar aus, wo sich grad der Thread befindet.

Bei bedarf kann ich auch den Quelltext zuschicken, ich bräuchte aber eher ne Art manual.

Danke vorab

Gruß Micha

Auch hallo.

Dazu fiel mir nur das Stichwort „Thread“ ein. Jetzt habe ich
diese Berechnung schon in einen Thread geworfen, aber das
Haupfenster ist immer noch unbenutzbar. Weder die Uhr, noch
alles andere läuft weiter.

Wundert mich nicht: der Rechner muss seine ganze Power auf das Programm verwenden…

Was mache ich falsch? Wie sieht generell das Proggen mit
Theads aus, aso Tutorials findet man dummerweise nicht viel,
immer nur gleich so Supererklärungen, die man als normaler
Mensch nicht versteht.

Hier ein Beispiel: http://www.dotnet-magazin.de/itr/online_artikel/psec…
Aber ich vermute auch mal, dass eine sogenannte Deadlock Situation vorliegt oder das gleichzeitig auf Inhalte zugegriffen wird…

Nur kurz zur Erläuterung meines Programmes. Ich habe ne riesen
StringList von 630000 Zeilen und die soll nach Strings suchen
und wenn diese vorkommen, diese durch andere ersetzen (welche
strings durch was ersetzt werden, wird aus ner Edit-Komp.
geholt). Während nun diese 630000 Zeilen ersetzt werden, funzt
nichts mehr. Der Rechner ist zu 100 % ausgelastet und das Main
Fenster aktualisiert die Uhrzeit nicht, und gibt auch nicht
auf der Statusbar aus, wo sich grad der Thread befindet.

Wie gesagt: bei der Menge wundert mich gar nichts…
http://www.javamagazin.de/itr/online_artikel/psecom,…
Obwohl irgendwo auch ein anderer Online Artikel von „Der Entwickler“ sein sollte…

HTH
mfg M.L.

Hallo Micha,

Application.ProcessMessages löst dein Problem.
In die Schleife integriert, läßt es auch andere zu Wort kommen.

Gruß
Manfred