Programm plötztlich tierisch langsam... ???



  • Hallo ihr,

    ich arbeit mit VC++ 2003 , hab grad mein menu geändert, und ne funktion hinzugefügt.. und wenn ich sas programm starte , reagiert es plötzlich ewig langsam die dialog werden erst nacht sekunden (wenn überhaupt) geöffnet wenn ich sie aufrufe etc.

    könnte das an der RC dateiei liegen da ich was geändert habe??

    ansonsten hab ich nur ne funktion hinzugefügt die definitiv noch nich im programm aufgerufen wird.. woran könnte das liege?

    EDIT: wenn ich im Windwo taskmangen schaue, bruacht mein programm 40-50 % cpu leistungne, obwohl ich nix machen und kein process oder thread ablaufen.. was ist da los?



  • Ich tipp auf komplexe Schleife oder größerer/längerer Allokationsvorgang.

    Also an der Resource kann es eigentlich nicht liegen. Wenn Du wirklich nur diese Funktion hinzugefügt hast, dann poste die mal.



  • hier die funktion, aber die wird nich mal aufgerufen.. ich starte das programm und mache gar nichts.. er ist garantiert in keiner schleife etc.

    sobald ich ein Dialog öffne

    ist das dilaog anfang nicht im vordergrund wen ich dann "alt" drücke kommt es in vordergrund.. ist bei allen dialogen so...

    ich blicks nicht .. ich ahb nix gemacht und jetzt spackts... muss irgendwas mit der Message loop sein... oder so....

    hier die funktion (die noch NICHT aufrufen wird):

    BOOL CWorklist::DeleteContent(){
    
    	for(int i=0; i<pcList.GetSize(); i++){
    
    		//Elemente der jeweiligen Liste löschen
    		while(pcList.ElementAt(i)->pcCTimeElems.GetCount()>0){
    			delete pcList.ElementAt(i)->pcCTimeElems.GetAt(0);
    			pcList.ElementAt(i)->pcCTimeElems.RemoveAt(0);
    		}
    	}
    	return true;
    }
    


  • Wenn in der Funktion Deallokationsvorgänge ausgeführt werden, diese aber nicht aufgerufen wird, reservierst Du Speicher der nicht freigegeben wird (, wenn ich Deine Situation richtig interpretiere 😉 ). ➡ :xmas2:



  • das problem ist, das überhaupt nix aufgerufen wird....

    ich starte das Programm mit F5 und es ist da.. damit überhautp irgendwelche meiner funktionen aufgeführt werden bzw. objekte von mir generiert werden muss ich erst mal im menü was auswählen.. aber kaum ist das programm gestart zeigt er mir schon an das es 50% CPU leistung benötig, obwohl der er nichts macht..



  • er kommt aus der message loop nich mehr raus.. als ob er ständig message bekommen würde... und kann so die eigenen messagen nich mehr verarbeiten... also wen ich wa anklicke etc..



  • JUHHUU.. per zufall bin ich auf das Probem gestossen

    ich hab den ihnalt der OnPaint Funktion der ChildView gelöscht, und so auch am ende der OnPaint Funktion die zeile

    CWnd::OnPaint();
    

    dann is er irgendwie in eine endloss meassage loop geraten....

    bin ich froh .. bin fast verzweifelt...

    Danke trozdme für die unterstützung;)



  • [klugscheiss]
    das problem haetteste gleich gefunden wenn du mal im spy++ die messages angeschaut haettest
    [/klugscheiss]


Anmelden zum Antworten