Schleife mit Button beenden
-
Hi,
bin ein Programm zur Speicherung von Messwerten am schreiben, für Windows.
Die Erfassung soll mit einem Button gestartet und beendet werden, d.h. es wird eine endlos Schleife gestartet die mit einem Button gestoppt wird.Nun muss ich die Möglichkeit haben den Klick auszuführen, habe dazu Funktion
Application->ProcessMessages()benutzt.
D.h. rufe die Funktion in der Schleife auf und wenn der zweite Button gedrückt wird übergebe ich eine Variable, die die Schleife stoppt.Wollte nun wissen ob die Funktion dafür in Ordnung dafür ist ob die irgendwann kritisch werden kann.
Wie siehts mit Zeitverzögerung aus, gibt es eine und wenn wie lange ist die?Freue mich auf Antworten
Stefan
-
Wie wäre es, für das auslesen der Messwerte einen neuen Thread zu starten?
Greetz, Swordfish
PS: gehört wohl nach MFC
-
Hallo
ob ProcessMessages noch ausreicht oder ein extra Thread schon angebracht ist läßt sich nur mit Hintergrundwissen entscheiden, das du aber nicht gibts.
bis bald
akari
-
Swordfish schrieb:
PS: gehört wohl nach MFC
MFC ist doch für Visual C++? arbeite mit Borland Builder 6, also in VLC/CLX verschieben?.
akari schrieb:
Hallo
ob ProcessMessages noch ausreicht oder ein extra Thread schon angebracht ist läßt sich nur mit Hintergrundwissen entscheiden, das du aber nicht gibts.
akariBin das Programm am umschreiben, bis jetzt werden die Werte bei Klick in Editfeldern angezeigt, wollte nun die ganzen DAten in eine Datei schreiben.
Habe mir das so gedacht.
Für Buttonofstream myfile(datei); stop=true; do { myfile<<werte; Application->ProcessMessages(); }while(stop==true)Button2
stop=falseIst also eine ganz kurze Schleife, die nur unterbrochen werden sollte.
Habe mcih noch nicht so richtig in Threads reingelesen. Sah sehr umfangreich aus und weiß deshalb nicht ob nicht etwas übertrieben wäre.Hätte noch eine Frage, wovon sollte man sollte es abhänig machen ob meinen neuen Thread aufmacht oder ProcessMessages nimmt und was sind die Probleme von ProcessMessages?
-
Hallo
ja das gehört ins Builder-Forum.
Es ist davon abhängig wie genau du die verarbeitung steuern willst.
Zum Beispiel bei einem Video-Abspiel-Programmm kommt es auf u.U. auf Millisekunden an, und der Ablauf sollte pausierbar sein. Sowas läßt sich besser mit Threads machen.In deinem Fall, einer einfachen Datenverarbeitung reicht ProcessMessages wahrscheinlich aus. Das kannst am besten aber du selber beurteilen : Hast du spürbare Verzögerungszeiten in dem Form während des Ablaufs? Wenn nicht brauchst du dir keine Sorgen machen.
bis bald
akari
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum VCL/CLX (Borland C++ Builder) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Ne, ich finde, sobald man eine etwas aufwändigere Routine hat, die nichts mit der GUI des Programms zu tun hat, sollte man einen neuen Thread dafür starten. Meine Meinung.