In welchem Zusammenhang willst du den verwenden ?
hey..
einfach mal eben kurz eine frage
was spricht gegen diesen befehel=
CheckForIllegalCrossThreadCalls = false;
?
In welchem Zusammenhang willst du den verwenden ?
um den threadübergreifenden fehler zu umgehen. würde wunderbar klappen
man benötigt kein invoke oder delegate...
denn ich will die daten die ich empfange auch weiter verarbeiten.. muss ich doch wieder alles mit delegate machen usw ?!
Die Datenverarbeitung kannst du auch ohne invoke machen. Den Invoke Befehl brauchst du nur für Zugriffe auf den GUI Thread. Es hat außerdem durchaus seinen Sinn dass man nicht ohne weiteres von einem anderen Thread auf den GUI Thread zugreifen kann, wie in dem dazu gehörigen Artikel der MSDN auch genannt wird:
http://msdn.microsoft.com/de-de/libr...=vs.80%29.aspx
Wenn ich jetzt aber eine zweite Textbox einfüge
kommen meine gesendeten ASCII Zahlen doppelt an
also wenn ich 12 sende zeigen beide textboxen 1212 an
ich will aber 12 13 senden.. und die textboxTemp soll 12 anziegen und textboxLuft soll 13 anzeigen.
und das andere ist wenn die zahlen in der textbox angezeigt sind und ich wieder zahlen sende sollen auch nur die wieder angezeigt werden, nun werden diese einfach vorne mit rangeschrieben
}
void InvokeLBRecieved(string Data) //Parameter stimmen mit der Deklaration des Delegaten überein
{
textBoxTemp.AppendText(Data);
textBoxLuft.AppendText(Data);
//listBox1.Items.Add(Data);
}
void Nebenthread(object sender, SerialDataReceivedEventArgs e) //Diese Methode wird ausgelöst. Wurde vorher abonniert
{
string Text = Schnittstelle.ReadExisting();
textBoxTemp.Invoke(Textfeld, new object[] { Text });
te
Sorry auch wenn das jetzt etwas hart klingen mag. Kauf dir ein gutes Grundlagenbuch zu C# und arbeit das durch. Wenn du dir anschaust was die Methode InvokeLBRecieved(string Data) macht, sollte dir ziemlich schnell klar werden warum beide Textboxen das gleiche anzeigen. Außerdem würde ich dir empfehlen statt einer TextBox eine Listbox zur Datendarstellung in dem Fall zu verwenden
ja.........
mit der doppelten anzeige habs ich schon hinbekommen
ich erlese mir alles aus dem internet. ist kein leichtes! .. bin seit 3 wochen dabei
Mit einem Buch das dich strukturiert heranführt machst du dir (und anderen ^^) das Leben um einiges leichter.
Es gibt sogar sehr brauchbare kostenlose Bücher zu C#:
http://openbook.galileocomputing.de/visual_csharp_2010/
kenn ich
also ich verstehe ja schon viel und alles
nur der delegate und invoke macht mir zu schaffen, der macht irgendwie meinen ganzen code kaputt.. und wenn ich weiter mache kommen immer fehler
Dagegen hilft nur so lange weiter lesen und üben bis man die Verwendung und das Konzept davon verstanden hat ^^
Wenn es insbesondere um die Verwendung von Delegates geht hat mir die MSDN sehr viel weitergeholfen:
http://msdn.microsoft.com/de-de/libr...(v=vs.80).aspx
Aber auch in der C# Community MyCSharp.de findet man bei vielen Themen bezüglich C# hilfe (Immer zuerst in die FAQ und in die Artikel reinschaun ob das was passendens dabei is^^)
Bei delegaten findet man das hier:
http://www.mycsharp.de/wbb2/thread.p...light=delegate
Geändert von shedepe (31.07.2011 um 13:28 Uhr)
Lesezeichen