![]() |
Fehlersuche - komm nicht weiter
Hi,
ich habe ein Programm, dass StayOnTop ist. Wenn nun der PC gesperrt ist bekomme ich nach ~30min diese Meldung: Zitat:
Delphi-Quellcode:
raise EOutOfResources.Create(Buf)
procedure GDIError;
const BufSize = 256; var ErrorCode: Integer; {$IF DEFINED(CLR)} Buf: StringBuilder; {$ELSE} Buf: array [Byte] of Char; {$IFEND} begin {$IF DEFINED(CLR)} Buf := StringBuilder.Create(BufSize); {$IFEND} ErrorCode := GetLastError; if (ErrorCode <> 0) and (FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nil, ErrorCode, LOCALE_USER_DEFAULT, Buf, BufSize, nil) <> 0) then {$IF DEFINED(CLR)} raise EOutOfResources.Create(Buf.ToString) {$ELSE} raise EOutOfResources.Create(Buf) {$IFEND} else OutOfResources; end; Wie kann ich herausfinden wo es von meinem Programm aus einen Fehler gibt? Denn mit Umschalt-F8 weiter gehe kommen noch mehr Meldungen in der Graphics. Der Taskmanager sagt mir das dass Programm ~3MB RAM braucht. Ich habe Bitmaps & TIcons in meinem Programm. Das komische ist halt, dass dieser Fehler nur auftritt wenn der PC gesperrt ist!? |
Re: Fehlersuche - komm nicht weiter
Was macht den dein Programm?
|
Re: Fehlersuche - komm nicht weiter
Wichtiger, als die Auslöse-Prozedur, wäre z.B. der Aufrufstack,
denn in dieser Prpzedur wird nur "nachträglich" die Exception ausgelöst und der Verursacher ist wo anders. |
Re: Fehlersuche - komm nicht weiter
Zitat:
|
Re: Fehlersuche - komm nicht weiter
Ok
Das ist der Aufrufstack wenn ich auf Anhalten drücke: Zitat:
Aber kein CopyBitmap oder auch kein CopyImage. Wird wahrscheinlich so sein, dass 'CopyIcon' diese Funktionen aufruft, oder? Ich werde einmal eine Abfrage einfügen ob das Icon-Handle 0 ist bevor ein CopyIcon durchgeführt wird. |
Re: Fehlersuche - komm nicht weiter
Hallo,
kann es sein, dass dein Programm per Timer ständig das Icon wechselt ? Heiko |
Re: Fehlersuche - komm nicht weiter
Nein,
das Icon wird von extern gewechselt (TNotifyIconData). Shell-Ersatz. Habe nun das CopyIcon & DestroyIcon abgesichert. Soweit ist der Fehler nicht mehr aufgetretten. |
Re: Fehlersuche - komm nicht weiter
Äh also ich habe diese Fehlermeldung einen ähnlichen Callstack wenn ich keinen Desktop Heap mehr habe.
Eventuell kann Dir das hier helfen: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz