Einzelnen Beitrag anzeigen

Daniel G
(Gast)

n/a Beiträge
 
#17

Re: Icon ändern - Fehler Systemressourcen erschöft???

  Alt 20. Aug 2006, 21:53
Zitat von Balu der Bär:
Zitat von Daniel G:
Seit wann hast du diesen Fehler? Hast du davor irgendwas Neues installiert?
Ich glaube nicht das es tatsächlich daran liegt das das System ausgelastet ist.
Zitat:
Die "Systemressourcen" sind etwas anderes als einfacher Speicher. Systemressourcen beschreiben alle Daten des grafischen Systems, auf die Windows zugreifen kann. Ressourcen sind Daten, die systemweit zur Verfügung stehen, und diesen Ressourcenpool teilen sich *alle* Programme im System, auch die Windows Systemoberfläche.
Unter die Ressourcen fallen solche Dinge wie Menüs, Pinsel, Farbpaletten, Schriftarten, Füllmuster, Bitmaps...
Nicht darunter fallen, auch wenn sie über das gleiche System mitverwaltet werden, alle Dienste, die vom Betriebssystem angeboten werden, wie Prozesshandles, Threads, Files, und Synchronisationsobjekte.
Leider sind die Ressourcen nicht unerschöpflich, sondern es kann der Verwaltungsspeicher für diese Objekte ausgehen. In diesem Fall können keine neuen Ressourcen mehr angefordert werden, und es kommt zu Fehlfunktionen. Dies äußert sich darin, das Mauscursor verschwinden, Bitmaps nicht mehr oder nicht mehr korrekt angezeigt werden, oder alle Texte auf einmal in der Systemschriftart angezeigt werden. In all diesen Fällen ist der Poolspeicher für die Systemressourcen erschöpft. Leider kann man diesen Speicher nicht einfach hochschrauben, das läßt die systeminterne Verwaltung der Ressourcen nicht zu (über Handles).

Der Grund für diese Probleme liegt an unsauber programmierten Programmen, Windows ist daran nicht Schuld! Bei Windows ist es ganz wichtig, daß alle vom GDI angeforderten Objekte, seien es Pens, Brushes, Icons oder Bitmaps, nach Gebrauch aus dem DC entfernt und per DeleteObject() gelöscht werden müssen. Geschieht dies nicht, hinterlässt das Programm z.B. bei jedem Aufruf des WM_PAINT-Callbacks Ressourcenmüll im System. Und irgendwann haben die ganzen nicht gelöschten Ressourcen die kompletten Systemressourcen aufgemampft, und es geht gar nichts mehr. Also solltest du dir dein Programm noch mal ganz genau anschauen, wo irgendwelche GDI-Objekte nicht freigegeben werden.
Quelle

Ich glaube schon, dass es damit was zu tun hat....

@EDE: Evtl liegt es an deinem jetzigen Projekt? Oder an den Tools aus der DP?
  Mit Zitat antworten Zitat