Suchfunktion - funktioniert mit Einschränkungen

Memfis, du musst unterscheiden zwischen "Deklaration einer Variable" und "einer Variable einen Wert zuweisen".
Wenn du dir die Beispielklasse von rd4eva anschaust, dann steht da:
C#:
class MyClass
    {
        public string var;
    ...
Und nicht
C#:
class MyClass
    {
        public string var = "foobar";
    ...
Das erste Beispiel deklariert die Variable lediglich, Zweites weist ihr zusätzlich noch einen Wert zu.
Momentan verwendest du die zweite Version: du deklarierst eine System.Threading.Thread-Variable und weist ihr einen Wert zu, nämlich den Wert
C#:
new System.Threading.Thread(delegate() { Search(path, searchPattern); })
Dieser Wert wird der Variable zugewiesen, sobald die Klasse instanziiert wird!
Der Benutzer hat zu diesem Zeitpunkt deine Form wahrscheinlich noch gar nicht in voller Pracht zu Gesicht bekommen.
Wenn du aber lediglich die Thread-Variable deklarierst, ohne ihr einen Wert zuzuweisen, sollte es keine Compiler-Fehler geben:
C#:
class SystemThreading
{
	public System.Threading.Thread t;
}
Den Wert weist du der Variable erst dann zu, wenn der Benutzer auf den Button "Suche starten" geklickt hat, also bevor du "t.Start()" aufrufst.
 
Zuletzt bearbeitet:
Danke Shakie,

ich war diese (und letzte) Woche bisschen anderweitig beschäftigt, werde deinen Tipp aber bis spätestens zum Wochenende ausprobiert haben. Ich melde mich dann noch mal.
 
Zurück