Seite 1 von 1
Windows spinnt?!
Verfasst: 16. Februar 2008 12:38
von SchranZViruS
Hi Leute,
hab mir n kleines Programm geschrieben dass ich auf linux laufen lasse und es läuft auch wunderbar.
Das ganze hab ich auch noch per cross-compiling für windows gemacht und es hat wunderbar gefunzt. Jetzt hab ich heut allerdings das ganze nochmal kompiliert aber windows zickt rum:
Das programm startet er (hab ne provisorische logfile gemacht), aber er zeigt keine widgets an... und wenn ich in den task-manager gehe zeigt er an, dass das programm noch läuft, ich hab schon alles ausprobiert, auch auf windows mit qt und mingw compiliert, was vorher ging, jedoch passiert das gleiche wie mit cross -> Er kompilert wunderbar, startet aber zeigt kein Fenster an...
Kann mir da jemand weiter helfen? müsste das prog nämlich nem freund geben, der das braucht...
danke schonmal
Verfasst: 16. Februar 2008 13:49
von -=Freaky=-
nur mal so geraten:
Code: Alles auswählen
int main( /* ... */ )
{
QApplication app( /* ... */ );
QMainWindow win; // dein fenster
win.show(); // show() muss aufgerufen werden, sonst wird nichts angezeigt, zumindest ist das bei mir der fall (qt 4.3.2)
return app.exec();
}
vllt. hilft das ja ...
mfg,
julian
Verfasst: 16. Februar 2008 14:29
von upsala
Raten können wir viel, show() muß immer aufgerufen werden und die beste Hilfe ist wie immer der Debugger.
Verfasst: 16. Februar 2008 15:47
von SchranZViruS
Hab show() und exec() etc alles drin, ist nicht grad mein erstes programm, aber könnt ihr ja nicht wissen ^^
und debuggen kann icht nicht, da ich für windows keinen habe. In linux läufts wunderbar, da bringt mir es debuggen nichts und in windows läuft das programm aber kein fenster geht auf, der prozess bleibt die ganze zeit mit 0 prozent auslastung im taskmanager... egal ob auf WiXP oder 2k...
Verfasst: 16. Februar 2008 15:54
von ConfusedSushi
hmm ... du könntest mal volgendes prog probieren:
http://technet.microsoft.com/en-us/sysi ... 96647.aspx
das zeigt dir debug meldungen aller möglichen processe an.
vielleicht hilft das weiter.
Verfasst: 16. Februar 2008 16:16
von SchranZViruS
So jetzt wirds noch komischer...
Ich habs geschafft, es wieder zum laufen zu bringen..
Das Programm speichert Daten via QSettings also den ganz normalen weg, jedoch scheints so zu sein, dass QSettings mit der Datenmenge überfordert ist, da wenn ich die Daten aus der Regestry lösche das Programm ganz normal geht... und n falscher Datensatz kanns auch nt sein, das auf bei beiden windofs so ist... o.O
Verfasst: 16. Februar 2008 16:38
von ConfusedSushi
was genau speicherst bzw lädst du denn mit qsettings, vielleicht ist da irgendwo nen bug? null pointer? was auch immer?
Verfasst: 16. Februar 2008 16:44
von SchranZViruS
integers, strings und arrays, also alles mögliche. komischerweise lädt er das alles auch... wenns n null pointer oder n speicherleck wäre würde er beim laden ja abkacken, aber er lädt wunderbar... ich sags ja, windows is das königreich der sch*** und die registry ist der könig...^^
Verfasst: 16. Februar 2008 17:03
von SchranZViruS
Problem erkannt -> Problem gebannt.
Es liegt an der WindowGeometry, die ich mittels saveGeometry() und restoreGeometry() behandle, als ich die gelöscht habe, gings wieder, auch nach dem ichs geschlossen und wieder geöffnet habe. Das problem dabei ist, dass ich es nicht reproduzieren kann... sonst könnt ich nen anständigen bugreport machen...
Verfasst: 16. Februar 2008 17:04
von ConfusedSushi
da du ja keinen debuger hast:
bau an verschiedenen stellen qDebug ein.
und schau mit DebugView nach wo genau er hängen bleibt.
ansonsten wär wohl das beste du besorgst dir nen debugger für windows:
visual studio express gibs umsonst.