Seite 1 von 1

Problem mit Qt und XML

Verfasst: 24. Juni 2006 15:47
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 :(

Verfasst: 24. Juni 2006 16:42
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

Verfasst: 24. Juni 2006 17:18
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.

Verfasst: 25. Juni 2006 11:58
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....

Verfasst: 25. Juni 2006 12:16
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?

Verfasst: 25. Juni 2006 13:54
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