Hallo, mein Programm liehst von bis zu 8 Geräten Daten über die RS232 Schnittstelle aus. Dazu wird erst ein Befehl gesendet, welche Daten abgefragt werden sollen und anschließend die entsprechenden Daten empfangen. Während der Abfrage der Werte bleibt die Benutzeroberfläche ganz schön hängen. Das nervt. Ich suche jetzt nach einer Möglichkeit das Abfragen der Werte irgendwie im Hintergrund laufen zu lassen. Mit Visual Basic habe ich das schon mal gemacht, aber mit C++ bin ich da etz leicht überfordert. Kann mir da jemand ein paar Tipps geben wie ich vorgehe?
Hab grad was mit Backgroundworker gefunden, das müsste das sein wonach ich suche.
Christian schrieb: > Hab grad was mit Backgroundworker gefunden, das müsste das sein wonach > ich suche. oder allgemein Threads. der Backgroundworker ist auch nur ein Thread mit ein paar mehr Methoden. Was jetzt besser für diesen Zweck ist kann ich aber auch nicht sagen, selber verwende ich nur Threads.
Ich probiers etz erstmal mit dem Backgroundworker. Wenn ich doppelklick drauf gehe, dann öffnet sich folgende Sub:
1 | private: System::Void backgroundWorker1_DoWork(System::Object^ sender, System::ComponentModel::DoWorkEventArgs^ e) { } |
Den Code, den ich da reinschreibe führt der Backgroundworker dann wohl aus, nehme ich an. Aber wie starte ich das Teil jetzt? Mit this->backgroundWorker1_DoWork(); wirds nix...
Christian schrieb: > Aber wie starte ich das Teil jetzt? Doku lesen. Bei Threads (auch dem Backgroundworker) muss man wissen was man tun. Wie man z.b. auf globale Variabeln zugreift, wie man die gui anspricht usw. Es geht nicht alles mit "doppelklick" http://msdn.microsoft.com/de-de/library/system.componentmodel.backgroundworker.aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.