Windows spinnt?!

Alles rund um die Programmierung mit Qt
Antworten
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Windows spinnt?!

Beitrag 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
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Beitrag 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
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Raten können wir viel, show() muß immer aufgerufen werden und die beste Hilfe ist wie immer der Debugger.
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Beitrag 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...
ConfusedSushi
Beiträge: 57
Registriert: 18. Januar 2008 16:46
Wohnort: Berlin

Beitrag 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.
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Beitrag 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
ConfusedSushi
Beiträge: 57
Registriert: 18. Januar 2008 16:46
Wohnort: Berlin

Beitrag von ConfusedSushi »

was genau speicherst bzw lädst du denn mit qsettings, vielleicht ist da irgendwo nen bug? null pointer? was auch immer?
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Beitrag 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...^^
SchranZViruS
Beiträge: 31
Registriert: 3. Februar 2008 01:33

Beitrag 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...
ConfusedSushi
Beiträge: 57
Registriert: 18. Januar 2008 16:46
Wohnort: Berlin

Beitrag 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.
Antworten