![]() |
Fehlermeldungen Applikationsweit unterdrücken...
Hallo Wissende!
Wir haben ein System für den Public Area bestimmter Sportveranstaltungen geschrieben, welches wunderbar funktioniert. Das einzige Problem ist, dass wir beim Programmstart immer eine Fehlermeldung erhalten. Diese sollen die Besucher natürlich nicht sehen. Ich habe nun schon einiges versucht diese Meldung zu unterdrücken, bin aber jämmerlich gescheitert. Leider kommt die Meldung immer wieder. Gibt es diese Möglichkeit ? Ich weiss, man sollte lieber ordentlich debuggen, aber für zwischendurch brauche ich einfach ne Lösung, die mir das ermöglicht... |
Re: Fehlermeldungen Applikationsweit unterdrücken...
Jedes Projekt hat das
Delphi-Quellcode:
-Event, in diesem sollte es dir möglich sein jeglichen Fehler abzufangen bzw zu unterdrücken.
Application.OnException
|
Re: Fehlermeldungen Applikationsweit unterdrücken...
Was für eine Fehlermeldung und was habt ihr unternommen, um sie zu unterdrücken?
Solltet ihr versucht haben, sie per try except abzufangen, startet das Programm mal außerhalb von Delphi, dann sollte die Fehlermeldung nicht mehr erscheinen. (Es gibt auch eine Einstellung in Delphi, die abgefangene Fehlermeldungen nicht mehr anzeigen lässt) |
Re: Fehlermeldungen Applikationsweit unterdrücken...
Hallo nicht Wissender! :mrgreen:
Du kannst ![]() dann kannst Du mit den Fehlern machen, was Du willst... Oder wenn Du nur an einer Programmstelle nen Fehler abfangen willst, ![]() ![]() Edit: Gleich zwei rote Kästen, die nicht da waren, das geht echt zu weit :wall: |
Re: Fehlermeldungen Applikationsweit unterdrücken...
Fheler generell zu nterdrücken halze ich nicht für sehr gut. Der Benutzer sollte schon wissen, was den fehler verursacht hat und warum.
|
Re: Fehlermeldungen Applikationsweit unterdrücken...
Zitat:
Zitat:
Du könntest in nem neuem Thread Fragen, vielleicht kann Dir wer helfen, den Fehler zu finden. |
Re: Fehlermeldungen Applikationsweit unterdrücken...
dsdt.info tutorial:
Delphi-Quellcode:
Application.OnException := AppException;
Delphi-Quellcode:
wenn du den Messagedlg wech machst werden alle fehler ignoriert ... ob das allerdings schön ist musste selber wissen :mrgreen:
procedure TForm1.AppException(Sender: TObject; E: Exception);
begin Messagedlg('Es ist folgender Fehler aufgetreten:'+#10#13#10#13+ E.Message+#10#13+'Fehlertyp: '+E.ClassName+#10#13+ 'Sender: '+sender.ClassName', mterror,[mbok],0); end; |
Re: Fehlermeldungen Applikationsweit unterdrücken...
Ok, ich versuchs mal zu umschreiben, und zu beschreiben, da es mit Code etwas zu viel des Guten wäre. Das Projekt hat mehrere Tausend Zeilen Code.
Der Fehler tritt eigentlich nur bei Programmstart auf. Also was passiert alles beim Programmstart.
Zu sehen ist das Ergebnis dann hier. Ich habe mal alles hochgeladen. ![]() Wenn man auf LiveScore geht, dann erhält man links ein Frame mit den Links zu den Spielen, in dem Fall nur noch das Finalspiel und rechts wird dann das Spiel angezeigt. Die History funktioniert so ähnlich. Wenn ein Livespiel zu ende geht oder mehrere neue Livespiele gestartet werden, dann wird auf der linken Seite die Linkliste mit dieser funktion aktualisiert.
Delphi-Quellcode:
Wie man sieht, habe ich es schon in Watte eingepackt und mit try-except versucht, aber wenn ich es mit Delphi starte, schmiert er direkt nach dem Createn, dem Show und dem Activate, wenn er versucht das erste mal diese procedure auszuführen ab, weil er wohl das member nicht finden kann, so die Fehlermeldung. Ich habe schon im TWebBrowser so viel onDocumentComplete und OnBeforeBrowse versucht, dass ich echt nicht mehr weiter weiss...Der Fehler kommt nicht immer, aber dafür fast immer. Erst kommt die Fehlermeldung, dass die Datei LScore.xml nicht geschrieben werden kann und dann die Fehlermendung Member nicht gefunden. Vielleicht muss ich ja mal das ganze Projekt hochschieben???
procedure TForm1.UpdateNavyXML(ID,Content:String);
var doc, fdoc: IHTMLDocument2; e: IHTMLElement; va: OleVariant; markup: String; begin doc := web_cis.Document as IHTMLDocument2; va := VarArrayCreate([0, 1], varVariant); va[0] := 1; va[1] := 'main_left'; if doc <> nil then begin fdoc := GetDeepFrameDoc(doc, va); e := fdoc.all.item(ID, 0) as IHTMLElement; if Transform(Content, markup) then try //von hier kommt der fehler, scheinbar ist die seite noch nicht fertig geladen //weshalb er das member nicht finden kann!? aber wenn ich eine globale var zum einsatz //bringe, klappts auch nicht... fdoc.body.innerHTML := markup except on E: Exception do ShowMessage(E.Message); end else ; end; end; |
Re: Fehlermeldungen Applikationsweit unterdrücken...
Zitat:
|
Neues Thema erstellen
Und das alles bitte in einem NEUEM Thread...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:25 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 by Thomas Breitkreuz