Einzelnen Beitrag anzeigen

JYPDWhite

Registriert seit: 29. Sep 2010
28 Beiträge
 
#9

AW: Der aktuelle Prozess verwendet alle Handles EOSError

  Alt 13. Aug 2014, 11:23
Die Idee mit dem Process Explorer war gut.
Da sieht man dass es nicht die GDI-Handles sind sondern die USER-Objects.
Ein Leak an Handles scheint es auch nicht zu sein. Denn wenn ich den Testdatensatz laden steigen die User-Objects auf knapp 9,8k an. Wenn ich dann im Programm auf Datei --> Neu gehen sinken die Werte wieder auf praktisch die selben Werte (vielleicht 300 Handles mehr) wie direkt nach dem Programmstart.
Das Problem scheint zu sein dass wir in dem Programm an mehreren Stellen eine Scrollbox haben und in diese kann man weitere Zeilen mit Eingaben einfügen indem man auf einen Button klickt.
Das habe ich gerade mal nachgestellt und von Hand dort hunderte Einträge hinzugefügt. Dabei steigen die User-Objects immer weiter an bis man dann irgendwann bei 10k ist und das Programm abstürzt.

Nun habe ich natürlich das Problem dass ich das Problem irgendwie beheben muss. Eine Idee die ich hätte wäre die Karteireiter die gerade nicht sichtbar sind auch nicht im Speicher zu halten (und damit ja auch keine Handles dafür zu brauchen) Jedoch kommt da zum tragen dass das Programm zum großen Teil kein Datenmodell hat bzw. die Werte direkt aus der Maske verwendet werden.
  Mit Zitat antworten Zitat