tutorials.de Buch-Aktion 02/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
1799
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Asix Asix ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    44
    Tag auch,

    ich hab nun folgedes Problem:

    Ich lasse bei einer Änderung der Caption eines Buttons (ausgelöst OnClick) eine Schleife durchlaufen, die einen Wert erhöht, der in einem Edit Feld ausgegeben wird.

    Während die Schleife läuft wartet das gesamte Programm, bis diese beendet ist und das Edit Feld den aktuellen Wert ausgiebt.

    Wie schaffe ich es, dass das Programm weiterläuft, also u.a. die anderen Buttons gedrückt werden können?

    Hoffe das Problem ist verständlich geschildert...


    Gruß Asix
     

  2. #2
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    339
    Hallo,

    wird nicht klappen wenn du die Schleife in das OnClick Ereignis steckst.
    Mein Vorschlag wäre, den Inhalt die Schleife die du durchläufst in einen Timer zu stecken... und der Timer erhöht deinen Wert.
    Der Timer wird in einem extra Thread ausgeführt somit würde die GUI weiter bedienbar bleiben.

    MfG Turri

    PS: siehe Anhang (gebaut mit C++ Builder 6.0)
    Angehängte Dateien Angehängte Dateien
     

  3. #3
    Asix Asix ist offline Mitglied Bronze
    Registriert seit
    Jan 2009
    Beiträge
    44
    Genial Turri

    Vielen Dank jetzt kann ich endlich weiter machen

    Gruß Asix
     

  4. #4
    GillBates GillBates ist offline Mitglied Silber
    Registriert seit
    Oct 2007
    Ort
    BW
    Beiträge
    69
    @ Turri,

    Timer ist bestimmt nicht schlecht, aber bei Auflösungen im < 50 ms Bereich nicht mehr genau.
    Daher ein
    Code :
    1
    
    Application->ProcessMessages();
    in die Schleife und gut is

    Nur mal so ganz allgemein angemerkt.

    grüssle
     
    GillBates


    Hab' gerade einen Intel und einen AMD aus dem 3. Stock geworfen ... der AMD war tatsächlich schneller!

    [X] <-- Nail here for new Monitor

  5. #5
    Avatar von Turri
    Turri Turri ist offline Mitglied Brokat
    Registriert seit
    Jun 2005
    Beiträge
    339
    Geht natürlich auch
    Ist die Frage wie zeitkritisch seine Aktion letztendlich sein muss.
    Weil mit ProcessMessages seine Schleife dann zu schnell laufen würde und einfach durchrattert, so das man das hochzählen seiner Zahl im Editfeld nicht mehr erkennen würde.

    MfG Turri
     

Ähnliche Themen

  1. Video während Photoshop läuft
    Von Lunam im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 1
    Letzter Beitrag: 08.06.10, 13:05
  2. PC Schutz während VLC läuft
    Von ZodiacXP im Forum Microsoft Windows
    Antworten: 7
    Letzter Beitrag: 05.02.09, 15:26
  3. Button drücken während Programm läuft
    Von H2SO4 im Forum Visual Basic 6.0
    Antworten: 8
    Letzter Beitrag: 14.06.07, 11:15
  4. exe ausführen > Form wartet bis exe beendet wurde.
    Von Fridulin im Forum .NET Windows Forms
    Antworten: 3
    Letzter Beitrag: 16.09.05, 14:45
  5. variablen erstellen während die *.exe läuft
    Von flashscorpion im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 15.09.04, 17:52