aus Thread Komponenten ansteuern

15/07/2009 - 18:35 von Volker Keller | Report spam
Hallo,

ich befasse mich gerade mit einer für mich aufwendigeren Sache.

Dabei lasse ich im Thread eine Routine laufen, die Werte nach aussen geben
muss. Diese Werte werden an verschiedenen Komponenten angezeigt.
Wie gibt man diese Werte sicher und rel. schnell nach aussen, per Event?

Als ich das ohne Thead versuchte bekam ich folgende Fehlermeldung:

"Steuerelemente, die für einen Thread erstellt wurden, können einem
Steuerlement im einem anderen Thread nicht übergeordnet werden"

Wie verhinder man sowas?



Ist es ein Problem, wenn der Thread auf ein Queue zugreift, die von
ausserhalb des Threads gefüllt wurde?

Wie übergibt man einem laufenden Thread Werte, die dieser dann verarbeiten
kann?

Im Thread làuft eine Schleife, die regelmàssig auf Werte zugreifen kann -
damit?

Besten Dank
 

Lesen sie die antworten

#1 Frank Dzaebel
15/07/2009 - 20:19 | Warnen spam
Hallo Volker,

ich befasse mich gerade mit einer für mich aufwendigeren Sache.
Dabei lasse ich im Thread eine Routine laufen, die Werte nach aussen
geben muss. Diese Werte werden an verschiedenen Komponenten angezeigt.
Wie gibt man diese Werte sicher und rel. schnell nach aussen, per
Event?



Wie man das machen kann (und Hintergründe), geht
zum Teil hieraus hervor:

[Bearbeiten von Steuerelementen aus Threads]
http://dzaebel.net/ControlInvoke.htm

____________
BTW: Im Prinzip wàre es sinnvoll, die Anforderungen
für die GUI-Thread-Änderungen zu sammeln und
dann in einem zu verarbeiten, damit die Anzahl der
Threadwechsel minimiert wird. Also einen eigenen
kleinen Dispatcher ..., aber das ist ja wahrscheinlich
gar nicht nötig.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen