Problem mit Qt und XML

Alles rund um die Programmierung mit Qt
Antworten
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Problem mit Qt und XML

Beitrag von Sym »

Hallo,

nach vielem Rumprobieren habe ich einfach mal das einfache Beispiel von hier übernommen.

Leider scheint irgendetwas nicht zu klappen. In der Zeile

Code: Alles auswählen

if( !doc.setContent( &file ) )

wird ein Haltepunkt ausgeführt.
Fehler:

Code: Alles auswählen

HEAP[test.exe]: Invalid Address specified to RtlValidateHeap( 7f0000, e0f858 )
Windows hat einen Haltepunkt in test.exe ausgelöst.

Dies kann auf eine Beschädigung des Heaps zurückzuführen sein und weist auf ein Problem in test.exe oder in einer der geladenen DLLs hin.

Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster.
HEAP[test.exe]: Invalid Address specified to RtlFreeHeap( 7f0000, e0f858 )
Windows hat einen Haltepunkt in test.exe ausgelöst.

Dies kann auf eine Beschädigung des Heaps zurückzuführen sein und weist auf ein Problem in test.exe oder in einer der geladenen DLLs hin.

Weitere Analyseinformationen finden Sie möglicherweise im Ausgabefenster.
"<!DOCTYPE AdBookML>
<adbook>
 <contact email="kal@goteborg.se" phone="+46(0)31 123 4567" name="Kal" />
 <contact email="ada@goteborg.se" phone="+46(0)31 765 1234" name="Ada" />
</adbook>
" 
Das Programm "[2016] test.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
Ich arbeite mit Qt4.1.3 und MSVC2005 Express.

Habt Ihr ein solches Problem schon einmal gesehen? Google spukt ja auch einiges aus, was mir nicht so direkt geholfen hat.

Wenn ich da durchsteppe, komme ich in die Datei qxml.cpp und der Fehler

Code: Alles auswählen

Für die aktuelle Position ist kein Quellcode verfügbar.
poppt auf. Das geschieht in der Methode init() an der Stelle

Code: Alles auswählen

d = new QXmlInputSourcePrivate;
Hmm :(
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

der fehler ist warscheinlich im xml file ... kann mann sehen so:

sagt alles welches zeichen zeile ecc.... meistens ist es utf8 fehler codierung......

Code: Alles auswählen

    QString configwget = "file.xml";
    QFile xmlfile(configwget);
    if(!xmlfile.open( QIODevice::ReadOnly ) ) {
     ErrorConfig("");
    }
    QString errorStr, obname, inhalt;
    int errorLine;
    int errorColumn;
   
    QDomDocument doc("http://www.pulitzer.ch/2005/PuliCMS/1.0");
     if (!doc.setContent(&xmlfile,true, &errorStr, &errorLine, &errorColumn)) {
         QString error = (QString("Parse error at line %1, column %2:\n%3")
         .arg(errorLine)
         .arg(errorColumn)
         .arg(errorStr) );
        ErrorConfig(error);
     xmlfile.close();
     } 
Aus meinen beispielen ....
http://www.qtforum.de/forum/viewtopic.php?t=2192
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Danke,

das XML-File war korrekt. Ich habe eben (während des allwöchentlichen Einkaufs) Qt noch einmal kompiliert. Jetzt läuft es ohne diesen Fehler.

Tja, warum auch immer.
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Warum hat deine QT4 Mac Installations-Anleitung bei http://www.lmprojects.de/qt/qt_mac.html nicht den pfad...
/Developer/qt so kann mann alles im finder sehen....
und dazu kannst mit verschiedenen versionen von qt arbeiten

ich habe /Developer/qt_3 und qt_4 wass ich nur zu umbenenne muss wenn ich mal was im qt3 compilieren muss...

im finder ist /Developer/ sichtbar mit alle tool ... sogar um installer zu machen wenn mal eine applikations root rechte braucht...
/Developer/Applications/Utilities

Doch super die methote dass es mit ppc & intel prozessoren auch geht....
Sym
Beiträge: 139
Registriert: 15. Mai 2006 15:38
Wohnort: Bremen

Beitrag von Sym »

Um die libs im Finder finden zu können, kann man ja einen Link setzen ;)

Allerdings ist das Stammverzeichnis eben das angegebene. Ist von Trolltech so vorgesehen. Und ich kann natürlich auch mehrere Versionen von Qt dort haben. Die Verzeichnisse haben ja noch unterschiedliche Namen.

Oder verstehe ich Dich falsch?
patrik08
Beiträge: 746
Registriert: 27. Februar 2006 10:48
Wohnort: DE Freiburg

Beitrag von patrik08 »

Sym hat geschrieben:Um die libs im Finder finden zu können, kann man ja einen Link setzen ;)
Klahr.... wenn "QTDIR" envoriment stimt kann man ja qt ueberall installieren. Ich habe irgenwo gesehen eine installations anleitung die nach /Developer/ eben geht ... damit alles zusammen bleibt... aber eben geht ja uberall..... mac is doch einfach super... kaum ist der Tiger draussen und nun kommt der Leopard......

Im pro file kann man auch wunder machen beim kompilieren....

mac:DESTDIR += /Users/user/Desktop/

um die applikation direkt auf dem desktop zu bekommen ...
und mit make distclean sie wieder wegnehemen...

Weist Du wie man mit qprocess den mac browser aufbekommt?
Oder handhabs du es mit der NSApplication_Class ... http://developer.apple.com/documentatio ... index.html
Antworten