Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#1

GDIError EOutOfResources

  Alt 19. Aug 2010, 12:49
Hi,

ich habe schon einige Einträge zum Thema gefunden. Aber los bin ich mein Problem leider nicht.
Ich habe sporadisch Programmabstürze in der Funktion CopyBitmap (Graphics) in der Zeile:
Result := GDICheck(CreateCompatibleBitmap(ScreenDC, bmWidth, bmHeight)) Da CreateCompatibleBitmap 0 liefert, kommt dann GdiError: EOutOfResources "Für diesen Befehl ist nicht genug Speicher verfügbar" ID 5878...

Der Fehler tritt momentan nur unter Citrix[EDIT]aber auch bei Verbindung über RDP (RemoteDesktop)[/EDIT] / Windows Server 2003 und bei großen Bildschirmauflösungen (z.B. 1980 x 1200) auf.
Trotz des Fehlers kann man einfach weitermachen.

Ich dachte, es liegt an den Developer Express - Komponenten.
Dort wurde so etwas schon diskutiert und man kann die Grafik dort von device-dependent bitmaps auf DIB umstellen.

Ich konnte das gestern nachvollziehen.
Ich habe mei Programm mehrmals gestartet und alle möglichen Fenster geöffnet, bis ich jeweils ca. 1000 GDI - Handles hatte.
Beim Start Nummer 6 kam der Fehler.

Da ich die Umstellung auf DIB per INI einstellen konnte, habe ich es wunderbar reproduziert.
DIB in INI ein - Start OK
DIB in INI aus - Error ... *freu*

Also habe ich auf allen Citrix - Servern die INI angepasst.
Heute - wieder der Fehler ... *heul*

Ich verliere jetzt langsam Haare.

Ich habe schon einige Artikel über GDI - Handels, Einträge in der Registrierung etc. gelesen.
Aber solche Änderungen auf Kundenservern mache ich nicht so gern und es betrifft auch nur die Anzahl der GDI - Handles.
Der Fehler deutet aber mehr auf den GDI - Heap hin.

Deshalb noch einmal die Frage, bevor ich auf den Servern anfange, in der Registry Änderungen vorzunehmen:

Hat jemand das gleiche Problem und idealerweise evtll. sogar eine mögliche Lösung?

Ach ja, nutze Delphi 2007 Pro. Im Anhang ist ein Auszug vom Call Stack.

Danke, Frank
Miniaturansicht angehängter Grafiken
error.jpg  
Frank Reim

Geändert von mkinzler (20. Aug 2010 um 08:32 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat