Qt GUI: Not enough storage to process this command



  • Hi Leute!
    Da ich mir nicht ganz sicher bin, wo meine Frage hinpasst, stecke ich sie hier rein.
    Ich habe eine Anwendung für Windows Mobile geschrieben. Bisher war das nur eine Konsolenanwendung, die im Hintergrund ihre Aufgaben erledigt. Nun möchte ich mit Qt eine GUI drauf setzen.

    Die GUI läuft stand alone super (besteht im wesentlichen momentan aus 2 Tabs mit ein paar Bildern und Labels drauf).
    Die Anwendung selbst läuft stand alone auch super.
    Verbinde ich nun beide, so kracht es. Ich erhalte beim Erzeugen des 5. oder 6. Threads (WindowsAPI: CreateThread) 0x0 als Handle (vorher werden mit derselben Methode erfolgreich Threads erzeugt). GetLastError sagt "Not enough storage is available to process this command.".
    Wenn ich aber nachschaue, sehe ich folgende Werte:
    Datenspeicher:
    Gesamt: 291.91MB
    Belegt: 81.66MB
    Frei: 210.26MB

    Programmspeicher:
    Gesamt: 185.67MB
    Belegt: 102.37MB
    Frei: 83.29MB

    Vielen Dank im Voraus,
    Niels

    [edit]
    Hier noch eine Zusatzinfo, meine main-Methode sieht wie folgt aus:

    QApplication::setColorSpec(QApplication::ManyColor);
    QApplication a(argc, argvConverted);
    // >> initialise my stuff (no qt-code)
    ... // hier kommt irgendwann der Fehler
    // << initialise my stuff (no qt-code)
    SmartPointer<MyView> view = new MyView();
    view->showMaximized();
    // hier noch ein paar QObject::connect statements
    return a.exec();
    

    [/edit]


  • Mod

    Der wird da evtl. schon recht haben. Jedes Programm hat einen bestimmten verbrauch, und heisst auch jeweils mindestens 1 Thread mehr.

    Evtl. solltest du überlegen, ob es sinnvoll ist, soviele Threads aufzumachen, denn viele Threads != viel Performance...



  • phlox81 schrieb:

    Der wird da evtl. schon recht haben. Jedes Programm hat einen bestimmten verbrauch, und heisst auch jeweils mindestens 1 Thread mehr.

    Ist die Anzahl der Threads auf dem System begrenzt???

    phlox81 schrieb:

    Evtl. solltest du überlegen, ob es sinnvoll ist, soviele Threads aufzumachen, denn viele Threads != viel Performance...

    Habe maximal so 12 Threads. Dabei ist auch nur die Performance eines Threads wichtig. Die anderen laufen auf niedrigerer Priorität. Dazu kommen noch die Threads von Qt.

    Was bedeutet die Fehlermeldung, die ich da bekomme eigentlich? Genug RAM ist ja offensichtlich noch verfügbar.

    Viele Grüße,
    Niels



  • derniels schrieb:

    phlox81 schrieb:

    Der wird da evtl. schon recht haben. Jedes Programm hat einen bestimmten verbrauch, und heisst auch jeweils mindestens 1 Thread mehr.

    Ist die Anzahl der Threads auf dem System begrenzt???

    Nein, aber der Stack ist begrenzt.


Anmelden zum Antworten