Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi EOutofResources an unmöglichster Stelle! Wie beheben ? (https://www.delphipraxis.net/45635-eoutofresources-unmoeglichster-stelle-wie-beheben.html)

Thebe 9. Mai 2005 20:49


EOutofResources an unmöglichster Stelle! Wie beheben ?
 
N'Abend!

Bei dem Programm YaRCR (siehe Freeware Sparte) hab ich nun kürzlich erst einen interessanten Fehler entdeckt, den ich absolut nicht versteh. Und zwar wenn ich ein Verzeichnis durchsuche und dafür die Graphic wieder neu aufbaue kommt folgende Exception:

Zitat:

EOutOfResources
"Es sind keine weiteren Dateien vorhanden!".
Wäre ja nicht weiter komisch wenn ich bei FindNext/FindFirst nen Fehler drinne hätte oder das TSearchRec nicht wieder freigeben würde mit FindClose, aber es ist alles richtig und es funktionierte auch bis dato immer. Es wurde alles mit einbezogen, keine Datei wurde vergessen etc.

Was mich noch stutziger macht kommt aus der Delphi Hilfe:

Zitat:

EOutOfResources is raised when an application attempts to create a Windows handle and there are no more handles to allocate.
Das versteh ich absolut nicht. Besonders da ich kein neues Windows Handle kreiere und die Resourcen auch nicht erschöpft sind. Ich kann mich durch ZIG Verzeichnisse durchklicken, die alle maßlos voll sind oder aber auch leer, nur dann klick ih bestimmte Verzeichnisse bei meinem Prog an und lass das durchsuchen und dann kommt diese Exception.

Würde mich riesig freuen wenn ihr nen Denkanstoß für mich hättet was das ist. Der Fehler bereitet mir Kopfzerbrechen ohne Ende.

- Thebe

Fossibaer58809 9. Mai 2005 20:58

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Nabend zusammen,

ich hatte dieses Prob auch schon mal. Lag einfach daran, dass ich beim Zeichnen ein Objekte brauchte und dieses später nicht wieder freigegeben hatte. Also eventuell mal schaun ob es daran liegt.

Gruß
Michael

[Edit] Mit Objekt meinte ich sowas wie TPen ... [Edit]

Christian Seehase 9. Mai 2005 21:07

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Moin Thebe,

für das aufspüren solcher unerklärlichen Fehler könntest Du MemProof, MemCheck und auch madException verwenden.

Thebe 9. Mai 2005 23:14

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Das mit MemProof war schon mal nen geiler Tipp, dadurch hab ich nen GDI-Objekte Leak gefunden. Nur nun ist die Anwendung soweit clean und verliert nichts mehr, aber trotzdem kommt dieser Fehler.

Nun hab ich aber wenigstens rausgefunden woher der kommt:

CreateDIBSection ( "Es sind keine weiteren Dateien vorhanden" )

Und nun verwirrt mich der Fehler immer und immer mehr..
Seit wann hat CreateDIBSection was mit Dateien zu tun ?

Christian Seehase 9. Mai 2005 23:27

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Moin Thebe,

vielleicht solltest Du Dir doch auch mal madException anschauen. (www.madshi.net)
Das liefert Dir, im Falle einer Exception, auch gleich den Callstack.

Bernhard Geyer 10. Mai 2005 07:10

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
MemCheck liefert auch den Callstack. Bei aktiven TD32-Debug-Infos auch in lesbarer (mit Units und Zeilennummern) Form.

Christian Seehase 10. Mai 2005 09:02

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Moin Bernhard,

aber MemCheck hängt sich nicht in die Exceptionbehandlung ein, und zeigt Dir genau den CallStack für die jeweilige Exception.

Bernhard Geyer 10. Mai 2005 09:15

Re: EOutofResources an unmöglichster Stelle! Wie beheben ?
 
Zitat:

Zitat von Christian Seehase
Moin Bernhard,

aber MemCheck hängt sich nicht in die Exceptionbehandlung ein, und zeigt Dir genau den CallStack für die jeweilige Exception.

:wall: Stimmt. Sind ja die Jedi-Klassen die ich hier eingebaut habe.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:19 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz