ich arbeite Gerade an einer QT Oberfläche mit ein paar Objekten.
Bei Betätigung dieser werden Signale ausgelöst, welche Methoden aufrufen. In diesen werden wiederum Methoden eines anderen Objektes (mq) ausgeführt.
Bsp:
Code: Alles auswählen
connect(buttonLCDClear, SIGNAL(clicked()), this, SLOT(FunctionLCDClear()));
connect(comboSummer, SIGNAL(currentIndexChanged(int)), this, SLOT(BeeperStateChanged(int)));Code: Alles auswählen
void Miniterminal::FunctionLCDClear(void)
{ mq.addDataPacket(_terminalID,_receiverID,COMMAND,SET_BEEPER,0,"",STF,ENF);
}
void Miniterminal::BeeperStateChanged(int i)
{
mq.addDataPacket(_terminalID,_receiverID,COMMAND,SET_BEEPER,0,"",STF,ENF);
}Mein Problem:
Der addDataPacket Aufruf in der FunctionLCDClear-Methode funktioniert (meistens), der addDataPacket Aufruf in der BeeperStateChanged-Methode führt unweigerlich zum Absturz des Programms (xxx.exe hat ein Problem festgestellt und muss beendet werden).
Was mich wundert: Wenn ich den Code der Methode addDataPacket entferne, gibt es keinen Absturz. Wenn ich nach addDataPacket ein Sleep(5 sekunden); einfüge, Dauert es 5 Sekunden bis das Programm abstürzt.
Ich bin echt Ratlos (da noch Anfänger in QT). Vielleicht hat von Euch ja wer einen Einfall.
Wäre echt Dankbar, da ich jetzt schon ein paar Stunden versuche das Problem zu lösen.
Danke,
Michael
EDIT:
QT 4.5.1 / MinGW
WinXP Pro
Gibt es eigentlich in der kostenlosen Version irgendeine Möglichkeit zum Debuggen?