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.
    akari

    Bin 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 Button

    ofstream myfile(datei);
    stop=true;
    do
    {
    myfile<<werte;
    Application->ProcessMessages();
    }while(stop==true)
    

    Button2

    stop=false
    

    Ist 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.


Anmelden zum Antworten