Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Exceptions speichern (https://www.delphipraxis.net/112437-exceptions-speichern.html)

Fussball-Robby 21. Apr 2008 17:06

Re: Exceptions speichern
 
Na, dann wollen wir mal nich so sein :wink:
Also, zuerst machst du dir ne Prozedur, in der die Fehler behandelt und gespeichert werden. Hier mal eine Idee:
Delphi-Quellcode:
procedure TForm1.AppException(Sender: TObject; E: Exception);
var
  FName: String;
  List: TStrings;
begin
  FName := ExtractFilePath(ParamStr(0)) + 'Errors.log';
  List := TStringList.Create;
  try
    with List do
    begin
      if FileExists(FName) then
        LoadFromFile(FName);
      Add('[' + DateToStr(Now) + ' / ' + TimeToStr(Now) + ']' + ' ' + E.Message);
      SaveToFile(FName);
    end;
  finally
    FreeAndNil(List);
    Application.ShowException(E);
    Application.Terminate;
  end;
end;
Wichtig: die Parameter müssen so bleiben!

Dann weist du deine Prozedur dem OnException-Ereignis zu:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Application.OnException := AppException;
end;
Und schon fertig :wink:

Mfg

Die Muhkuh 21. Apr 2008 17:09

Re: Exceptions speichern
 
Autsch, warum Terminieren nach der Exception?

shmia 21. Apr 2008 17:10

Re: Exceptions speichern
 
Zitat:

Zitat von Tommy1988
Naja, so gesehen möchte ich nur erreichen , dass ich zum schluss weis "wie man sowas macht"..

Exception Tutorial

DeddyH 21. Apr 2008 17:11

Re: Exceptions speichern
 
Zitat:

Zitat von Die Muhkuh
Autsch, warum Terminieren nach der Exception?

Machst Du das nicht? :stupid:

sirius 21. Apr 2008 17:15

Re: Exceptions speichern
 
@Fusballrowdy:
-Zur Vereinfachung gibt es noch TApplicationEvents, da kann man das einfach anklicken
-Was passiert mit Exceptions, welche direkt in der Funktion abgefangen werden (try..except..end) ?
-Wieso Terminate wurde ja schon gefragt.

Die Muhkuh 21. Apr 2008 17:15

Re: Exceptions speichern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von DeddyH
Zitat:

Zitat von Die Muhkuh
Autsch, warum Terminieren nach der Exception?

Machst Du das nicht? :stupid:

Nein, ich hab nen kleinen Dialog, da kann der Benutzer entscheiden, ob er das Programm weiterlaufen lässt, neustartet oder terminiert. ;)

DeddyH 21. Apr 2008 17:19

Re: Exceptions speichern
 
Den kenn ich schon :zwinker:

Tommy1988 21. Apr 2008 17:21

Re: Exceptions speichern
 
Mh, ich erkläre mal schematisch was ich gemacht hatte:

stringlist erstellen
absichtlich einen fehler machen (double-wert einer integer-variablen zuweisen)
=> fehler kommt
=> => on ex: Exception do
ShowMessage('Exception detected:' +#13+
ex.message);
text := ex.Message; // hier war spätestens der fehler.

ich werde mir das tutorial mal verinnerlichen =)

Fussball-Robby 21. Apr 2008 17:25

Re: Exceptions speichern
 
Zitat:

Zitat von sirius
Fusballrowdy

:warn: :mrgreen:
Terminate ist Quatsch, ja. Ich hab das vor einem halben Jahr oder so das letzte mal benutzt und jetzt nur ausm Kopf runtergetippt. Sorry :?

Tommy1988 21. Apr 2008 17:56

Re: Exceptions speichern
 
Das mit dem Terminate ist ja aber schon seltsam .. egal.

Ich habs weggenommen.

Merci, ich verstehe diese ganze Sache jetzt .


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:33 Uhr.
Seite 2 von 2     12   

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