Programm pausiert nach while-Schleife
Verfasst: 9. April 2010 22:34
Hey zusammen,
ich bin momentan dabei ein kleines Programm zu schreiben, das mir ein paar generelle Infos über Mp3s anzeigt. Hab das ganze in C++ unter Windows 7 in Eclipse geschrieben und keine zusätzlichen Tools wie den Designer benutzt.
Prinzipiell besteht die Gui momentan aus einer QPushButton-, einer QLinetEdit- und einer QFileDialog-Instanz. Ich habe eine Klasse FOLDER erstellt, die ich von QObject abgeleitet habe. An das Q_OBJECT-Makro hab ich auch gedacht. Dem Konstruktor der FOLDER-Klasse übergebe ich einen Pointer auf die QLineEdit-Instanz, um den Inhalt der TextBox mit dem Ordner-Pfad zu aktualisieren. Das wars eigentlich, was ich mit Qt mache.
Der Connect-Befehl sieht wie folgt aus:
wobei browse ein Zeiger auf QPushButton ist.
vInitDir() ist eine Public-Slot-Methode der FOLDER-Klasse, von der aus die Analyse der Mp3s gestartet wird. Das eigentliche Problem taucht jetzt an einer für mich scheinbar willkürlichen Stelle auf.
Ich habe im Analyseteil eine while-Schleife. Das Problem ist, dass sobald die Abbruchbedingung der Schleife erreicht wird, das Programm genau nach der Schleife "pausiert". So würde in folgendem Beispiel der Text gar nicht erst ausgegeben werden:
Klicke ich erneut auf den Button und wähle den Ordner erneut aus, setzt das Programm scheinbar an besagter Stelle fort und gibt den Text aus, den es ausgeben soll, pausiert bei der letzten Mp3 aber wieder an genau der gleichen Stelle. Ich kann mir das Problem wirklich nicht erklären und wäre daher sehr für eure Hilfe dankbar, da ich stark annehme, dass es an einer nicht ordnungsgemäßen Qt-Handhabung meinerseits liegt, die ich aber selber nicht erkenne. Hab auch schon nach Diversem hier im Forum gesucht, ohne Erfolg. Hoffe, ich hab nicht nur schlampig gesucht
Viele Grüße,
iru
ich bin momentan dabei ein kleines Programm zu schreiben, das mir ein paar generelle Infos über Mp3s anzeigt. Hab das ganze in C++ unter Windows 7 in Eclipse geschrieben und keine zusätzlichen Tools wie den Designer benutzt.
Prinzipiell besteht die Gui momentan aus einer QPushButton-, einer QLinetEdit- und einer QFileDialog-Instanz. Ich habe eine Klasse FOLDER erstellt, die ich von QObject abgeleitet habe. An das Q_OBJECT-Makro hab ich auch gedacht. Dem Konstruktor der FOLDER-Klasse übergebe ich einen Pointer auf die QLineEdit-Instanz, um den Inhalt der TextBox mit dem Ordner-Pfad zu aktualisieren. Das wars eigentlich, was ich mit Qt mache.
Der Connect-Befehl sieht wie folgt aus:
Code: Alles auswählen
QObject::connect( browse, SIGNAL( clicked() ), folderContent, SLOT( vInitDir() ));vInitDir() ist eine Public-Slot-Methode der FOLDER-Klasse, von der aus die Analyse der Mp3s gestartet wird. Das eigentliche Problem taucht jetzt an einer für mich scheinbar willkürlichen Stelle auf.
Ich habe im Analyseteil eine while-Schleife. Das Problem ist, dass sobald die Abbruchbedingung der Schleife erreicht wird, das Programm genau nach der Schleife "pausiert". So würde in folgendem Beispiel der Text gar nicht erst ausgegeben werden:
Code: Alles auswählen
while(1)
break;
cout << "bla\n";Viele Grüße,
iru