Buttons und Labels verschwinden, Fonts verstellt
-
Hallo zusammen,
habe mal wieder ein Problem. Ich habe eine Anwendung mit mehreren Buttons und Labels. Wenn ich die Anwendung einige Zeit nutze, verschwindet irgendwann ein Teil der Buttons und Labels, und der Rest ist total verstellt (Schrift größer und fett). Wenn ich dann verschiedene Menü-Dialoge öffne, fehlen dort auch die Buttons. Klicke ich dort hin, wo normal ein Button ist, sehe ich ihn wieder.
Wisst ihr woran das liegen kann? Ist mein System vll. überlastet, da ich irgendwelche Threads etc. nicht sauber beendet habe?
Vielleicht sollte ich noch erwähnen, dass mein Programm zum Testen von Hardware-Komponenten ist, d.h. ist führe einen bestimmten Programmablauf mehrmals hintereinandner durch. Falls in diesem Programmablauf was nicht sauber beendet wurde, würde sich dies durch die mehrmaligen Tests summieren.
Gruß
Flo
-
Hört sich eher nach einem GDI-Problem an. Nutzt du GDI-Funktionen zum Zeichnen irgendwelcher Dinge in deinem Dialog? Fonts, Brushes, Pens, usw?
Wenn du solche GDI-Objekte erzeugst und nicht mehr freigibst (ReleaseDC, DeleteObject usw.) dann kann die von dir beschriebene Situation eintreten.Ein schneller Blick in den Windows-Taskmanager kann dir schon mal zeigen, ob du tatsächlich GDI-Objete nicht freigibst. Auf der Seite "Prozesse" kannst du die Spalte "GDI-Objekte" einblenden. Dort siehst du dann, ob die Zahl für deinen Prozess kontinuierlich ansteigt oder nicht.
-
Danke für die schnelle Antwort. Ja ich benutzte Brushes zum Färben von Feldern, ich schau es mir nochmal genauer an, wahrscheinlich liegt es da dran.
-
Habe nun doch weiterhin das Problem. Es tritt nun nur viel später auf.
In der Methode OnCtlColor lege ich verschiedene Brushes an. Je nach dem, ob der Test erfolgreich oder nicht erfolgreich abläuft, färbe ich Felder grün oder rot.
EDIT: Ich glaube, ich habe das Problem gelöst. Hatte bisher die Brushes lokal in der OnCtlColor anelegt. Habe sie nun global angelegt und im OnInit... erstellt. Nun bleibt die Anzahl der GDI-Objekte ziemlich konstant.