Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi try ... except (https://www.delphipraxis.net/63155-try-except.html)

MCQ 14. Feb 2006 17:37


try ... except
 
Hi, ich hab in meine DLL gerade folgende Funktion eingebunden:

Delphi-Quellcode:
procedure ForceException;
var start,ende:DWORD;
    err:boolean;
begin
err:=false;
start:=GetTickCount;
try
DebugBreak;
except
 err:=true;
end;
ende:=GetTickCount;
if (start-ende>10) or not err then ExitProcess(0);
end;
die Try...Except-Anweisung sollte doch den Fehler der durch DebugBreak entsteht abfangen, aber irgendwie funktioniert genau das nicht. windows melde mir dauernd das ein fehler aufgetreten ist und beendet das Programm. Woran kann das liegen?

Christian Seehase 14. Feb 2006 18:37

Re: try ... except
 
Moin MCQ,

wenn das in der IDE auftritt:
Tools\Debugger Optionen\Sprach-Exceptions
Checkbox: Bei Delphi-Exceptions anhalten deaktivieren.

(die Bezeichnungen könnten nicht ganz stimmen, da ich nur englisches Delphi habe)

MCQ 14. Feb 2006 18:39

Re: try ... except
 
Nein, es passiert auch im Explorer :(

dahead 14. Feb 2006 19:35

Re: try ... except
 
Vielleicht tritt der Fehler ja an anderer Stelle auf?
Um das zu prüfen, kannst du ja ein ShowMessage oder Beep in o. g. Prozedur verwenden. Dann siehst/hörst du, ob der Fehler daher kommt oder nicht.

MCQ 14. Feb 2006 19:38

Re: try ... except
 
kommentiere ich aber die DebugBreak-Zeile aus, funktioniert alles wunderbar, also kann der fehler nur dort auftreten ... Ich weiss langsam echt nicht mehr weiter :(

ste_ett 14. Feb 2006 19:41

Re: try ... except
 
Rufst du die von aussen auf?

Dann fehlt "stdcall;". :)

MCQ 14. Feb 2006 19:43

Re: try ... except
 
das ist eigendlich eine interne funktion. Die funktion soll also nur aus der eigenen DLL aufgerufen werden.

jfheins 14. Feb 2006 21:44

Re: try ... except
 
Bist du dir sicher, dass das except auch Breakpoint-Exceptions abfängt ?
In der Hilfe zu DebugBreak steht nämlich:
Zitat:

If the process is not being debugged, the function uses the search logic of a standard exception handler. In most cases, this causes the calling process to terminate because of an unhandled breakpoint exception.

MCQ 14. Feb 2006 21:47

Re: try ... except
 
ich habs auch mit int 3 und division by sero probiert ... immer das selbe problem :(

jfheins 14. Feb 2006 21:55

Re: try ... except
 
Läuft eigentlich ein Debugger ?

Ach, und was möchtest du machen ? :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.
Seite 1 von 3  1 23      

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