Seite 1 von 2
PNG-Bilder anzeigen ohne VisualStudio?
Verfasst: 12. Mai 2009 10:34
von grid
Hallo.
Habe in VS2005 eine Anwendung mit Hilfe von Qt geschrieben. Ich zeichne darin viele PNG-Bilder.
Seltsam ist:
Wenn ich die Anwendung aus VS2005 heraus starte funktioniert alles.
Wenn ich jedoch die EXE einzelnd ausführe stürtzt mein Programm sofort ab. Nehme ich jedoch die Bilder aus dem Code läuft meine Anwenung.
Habe alle wichtigen DLL's in das Anwendungsverzeichnis gepackt... von Qt und VS2005.
Ich stehe gerade vor einem riesen Rätzel und weis nicht weiter... vielleicht hatte jemand hier schonmal ein ähnliches Problem?
beste Grüße
Verfasst: 12. Mai 2009 10:48
von AuE
Ich stehe gerade vor einem riesen Rätzel und weis nicht weiter...
wir hier auch ohne src
Verfasst: 12. Mai 2009 11:07
von grid
AuE hat geschrieben:Ich stehe gerade vor einem riesen Rätzel und weis nicht weiter...
wir hier auch ohne src
Hallo AuE...
...was wäre denn da an src interessant?
Also ich habe folgende DLL's im Pfad:
- mfc80.dll
msvcm80.dll
msvcp80.dll
msvcr80.dll
QtCore4.dll
QtGui4.dll
QtNetwork4.dll
QtXml4.dll
Und in VS2005 habe ich folgende Lib's verlinkt:
- qtmain.lib
QtGui4.lib
QtCore4.lib
QtXml4.lib
QtNetwork4.lib
Ein Bild erstelle ich mit:
Die Pfadstruktur stimmt auch und der CurrentPath ist ebenfalls richtig.
Finds halt seltsam das die Anwendung 1A mit Bildern aus VS2005 heraus gestartet funktioniert... aber sofort abstürzt wenn ich sie mit nem Doppelklick öffne?
Hoffe jemand hat eine Idee...
Verfasst: 12. Mai 2009 11:11
von AuE
sieht schon mal gut aus! Wenns es gar net anzeigt hätte ich gesagt mach mal ein clean und nen new-built aber so..... gibt es denn gar keine fehlermeldung?
könntest mal folgendes versuchen:
dann könntest anhand von bres überprüfen obs am Laden liegt.... was ich aber nicht glaube da das nicht dein problem beschreibt!
Verfasst: 12. Mai 2009 11:13
von franzf
Hat denn VS2005 keinen Debugger integriert?
Per Debugger kannst du die einzelnen Funktionsaufrufe bis zum Crash verfolgen. Insbesondere den Aufruf, der den Crash verursacht.
Verfasst: 12. Mai 2009 11:14
von AuE
Ich hattte es so verstanden das es im Debugger läuft und aus dem Explorer raus eben net!?
BTW: Hast du en release gebaut??
Verfasst: 12. Mai 2009 11:23
von grid
AuE hat geschrieben:Ich hattte es so verstanden das es im Debugger läuft und aus dem Explorer raus eben net!?
Genau so ist es.
Aus dem Explorer raus läuft die Anwendung nicht... aus Visual Studio heraus jedoch prima.
Hm... jetzt hab ich noch eine seltsame Entdeckung gemacht:
Wenn ich den Ordner "images", in dem ja die Bilder liegen, umbenenne und die Anwendung dann aus dem Explorer heraus starte läuft sie... jedoch werden hier logischerweise keine Bilder angezeigt
EDIT:
Ja, hab ein Release gebaut.
Verfasst: 12. Mai 2009 11:29
von franzf
Sry, hab keinen VS2005 (Microsoft hat einfach noch keine Linux-Version herausgebracht

) drum weiß ich nicht dass "startet aus VS2005" heißt, dass es im Debugger läuft...
Ansonsten versuch es mal aus nem Terminal. Das gibt eigentlich immer sinnvolle Meldungen.
Verfasst: 12. Mai 2009 11:41
von Christian81
png ist ein Image-Plugin und muss demnach separat mit ausgeliefert werden -> Foren-Suche würde ich sagen.
Außerdem
http://doc.trolltech.com/4.5/plugins-howto.html
Verfasst: 12. Mai 2009 12:02
von grid
Hallo Christian,
bist du dir sicher das PNG ein Plugin ist? Ich finde nur GIF, JPEG, TIFF, MNG, ICO, SVG.
Welches Bildformat ist denn in Qt standardmäßig an Board?
EDIT: Falls es ein Plugin sein sollte... müsste ich das nicht auch in VS2005 einrichten?
Verfasst: 12. Mai 2009 12:06
von AuE
soweit ich weiss ist doch png und bmp standardmäßig mit bei, oder?
Verfasst: 12. Mai 2009 12:33
von Christian81
AuE hat geschrieben:soweit ich weiss ist doch png und bmp standardmäßig mit bei, oder?
Jepp...

Dann tippe ich auf falschen relativen Pfad. Besser einen absoluten nehmen (QApllication::applicationDirPath() ist da hilfreich)
Verfasst: 12. Mai 2009 12:38
von grid
Christian81 hat geschrieben:AuE hat geschrieben:soweit ich weiss ist doch png und bmp standardmäßig mit bei, oder?
Jepp...

Dann tippe ich auf falschen relativen Pfad. Besser einen absoluten nehmen (QApllication::applicationDirPath() ist da hilfreich)
Leider war das auch mein erster Gedanke.
Code: Alles auswählen
QCoreApplication::applicationDirPath()+"/images/XY.png"
...brachte auch nix
Der Pfad stimmt leider, sonst würde das:
Wenn ich den Ordner "images", in dem ja die Bilder liegen, umbenenne und die Anwendung dann aus dem Explorer heraus starte läuft sie... jedoch werden hier logischerweise keine Bilder angezeigt Wink
keinen Sinn machen.
Ich denke es muss an ner DLL liegen. Kanns mir sonst einfach nicht erklären...
Verfasst: 12. Mai 2009 12:49
von AuE
Hast die Anwendung schon aus der Console raus gestartet u da evtl was entdecken können?
Verfasst: 12. Mai 2009 13:11
von grid
Dank für eure schnellen Bemühungen
AuE hat geschrieben:Hast die Anwendung schon aus der Console raus gestartet u da evtl was entdecken können?
Ja hab ich... leider nix neues. Es ist wirklich wie verhext...
Jetzt kommt bei jedem 2. mal starten die chance mit dem Just-In-Time-Debugger was zu unternehmen.
Anscheinend irgend ein Fehler in der ntdll.dll und oder msvcr80.dll.