Absturz durch simple Anweisung in Konstruktor
Verfasst: 21. März 2006 11:13
Hallo ihr alle,
Ich habe einen leeren Konstruktor für meinen XML-Handler geschrieben. Alles funktioniert prächtig. Schreibe ich jedoch eine SEHR simple Anweisung dort hinein, stürzt mein Programm ab. Ich habe keine Ahnung, warum das so ist. Schaut euch am Besten mal den Code an. Vielleicht findet ihr ja was, jedenfalls muss mein Denkfehler sehr dumm sein.
Steht die Anweisung "writeable = xxx;" drin, stürzt das Programm ab. Bei einer anderen Anweisung z.B. "currentText = "asdf";" stürzt es NICHT ab, sondern funktioniert wie gewünscht.
Könnt ihr mir helfen?
Hulk
Ich habe einen leeren Konstruktor für meinen XML-Handler geschrieben. Alles funktioniert prächtig. Schreibe ich jedoch eine SEHR simple Anweisung dort hinein, stürzt mein Programm ab. Ich habe keine Ahnung, warum das so ist. Schaut euch am Besten mal den Code an. Vielleicht findet ihr ja was, jedenfalls muss mein Denkfehler sehr dumm sein.
Code: Alles auswählen
class XML_readwrite : public QXmlDefaultHandler {
public:
XML_readwrite();
bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attribs);
bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName);
bool characters(const QString &str);
bool fatalError(const QXmlParseException &exception);
QString currentText;
bool writeable;
};
Code: Alles auswählen
XML_readwrite::XML_readwrite() {
writeable = false;
currentText = "asdf";
}
bool XML_readwrite::startElement(const QString &, const QString &, const QString &qName, const QXmlAttributes &attribs) {
if (qName == "mac") writeable=true;
return true; }
bool XML_readwrite::characters(const QString &str) {
if (writeable) currentText += str;
return true; }
bool XML_readwrite::endElement(const QString &, const QString &, const QString &qName) {
if (qName == "mac") writeable=false;
return true; }
bool XML_readwrite::fatalError(const QXmlParseException &exception) {
return false; }
Steht die Anweisung "writeable = xxx;" drin, stürzt das Programm ab. Bei einer anderen Anweisung z.B. "currentText = "asdf";" stürzt es NICHT ab, sondern funktioniert wie gewünscht.
Könnt ihr mir helfen?
Hulk