Frage : Schleife unterbrechen
-
ja, der bleibt bei readbyte stehen, das soll er auch da ich ja hier kein Mikrocontroller habe von dem er die daten holt.
Mich hat einfach nur in der Schule genervt das ich diesen Vorgang nicht abbrechen kann (auf natürlchen Weg nicht Prozess beenden), wenn ich mich mal verklickt habe.
Das dauert ca. 30 sek. bis der Vorgang abgeschlossen ist, und auch aus reiner neugier für spätere Programme möchte ich einfach ein Möglichkeit wissen,
um einen "Abbrechen" Button einzubauen.Soviel wie ich davon jetzt verstanden habe, führt die Anweisung dazu, das alle Befehle sofort und nicht erst nach Beendigung der Schleife ausgeführt werden.
Jetzt ist nur die Frage wie nutz ich das?
Gruß
Farnsworth
-
Farnsworth schrieb:
Mich hat einfach nur in der Schule genervt das ich diesen Vorgang nicht abbrechen kann (auf natürlchen Weg nicht Prozess beenden), wenn ich mich mal verklickt habe.
Das dauert ca. 30 sek. bis der Vorgang abgeschlossen ist, und auch aus reiner neugier für spätere Programme möchte ich einfach ein Möglichkeit wissen,
um einen "Abbrechen" Button einzubauen.Lagere den Vorgang in einen anderen Thread aus. Siehe dazu BCB-Hilfe -> TThread oder WinAPI-Hilfe -> Threads.
Moritz
-
Danke, mal schauen ob ich da ne gute Anleitung finde.
Gruß
Farnsworth
-
Oh man, für sowas macht man natürlich einen eigenen THREAD.
In ner for-Schleife machen das nur absolute Anfänger die gerade dem Kindergartenalter entschlüpft sind, traurig, wenn ein Lehrer sowas veranstaltet

-
Eigendlich halte ich den für ziemlich Kompetent,
aber ich denke der kommt mehr aus dem Lager der Mikrocontroller, und arbeitet
sich selber noch ein (seit ein paar Jahren).Hast du ne gute Online Hilfe für Threads?
Überall wo ich Beispiele finde, sind die mehrere Seiten lang, und (wahrscheinlich) wird nicht mal die hälfte davon wirklich gebraucht.
Selbst in meinem Kompendium steht das prinzip zwar erklärt, aber nicht wirklich an einem EINFACHEN Beispiel für Anfänger.
-
Farnsworth schrieb:
Hast du ne gute Online Hilfe für Threads?
Überall wo ich Beispiele finde, sind die mehrere Seiten lang, und (wahrscheinlich) wird nicht mal die hälfte davon wirklich gebraucht.
Selbst in meinem Kompendium steht das prinzip zwar erklärt, aber nicht wirklich an einem EINFACHEN Beispiel für Anfänger.Der BCB lifert bereits ein beispiel für Threads mit, in
*<BCB-Path>\Examples\Apps\Threads*
Allerdings must du bedenken, das das Thema komplex ist, und dich schon mit mehreren Seiten Dokumentation anfreunden must, um Threads richtig einzusetzen.bis bald
akari
-
Danke, das hört sich ja nicht gerade erfreulich an.
Bin mal gespannt ob ich das jemals hinbekommen werde
Das Beispiel finde ich ziemlich verwirrend.
In der Main CPP Datei wird auch nur eine 2. Datei deklariert, und nicht wie in Büchern beschrieben mit HWND und MSG gearbeitet.
Naja, noch habe ich Urlaub, und ein paar Stunden werde ich dafür noch Opfern
Das das auch immer so kompliziert erklärt werden muß

-
schau mal hier
http://bcb-tutorial.c-plusplus.net/inhalt.html
wird der thread sehr einfach und verständlich erklärt
gruss
waldseeduo
-
Danke Dir!!!
Hat geholfen!
Im moment läuft der Thread sogar, er macht auch 2 Sachen parallel.
Das Hauptprogramm arbeitet weiter,(gibt Meldungen aus wenn ich auf die Knöpfe drücke), und der Thread gibt die Zählschleife aus.ABER.....
Wenn ich das Programm starte, kann ich sie serielle Schnittstelle öffnen, und meinen Ventilator anschmeissen, und wieder aus, alles OK. Meldungen für an und aus
werden ausgegeben.Wenn ich den Thread starte, und danach den Lüfter an oder ausschalten möchte, geht das nicht mehr! Es kommen zwar noch die Meldungen Lüfter an bzw. aus, aber die serielle Schnittstelle macht nichts mehr!
Da ich das im Hauptthread habe dürfte das doch kein Problem sein mit der Deklaration der Schnittstelle, oder?
Woran kann das liegen?
-
Bitte die Faustregel beachten: ein Thema pro Thread, ein Thread pro Thema.
Denn mit dem ursprünglichen Problem haben deine letzten Fragen nichts mehr zu tun.