AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Fehlermeldungen Applikationsweit unterdrücken...
Thema durchsuchen
Ansicht
Themen-Optionen

Fehlermeldungen Applikationsweit unterdrücken...

Ein Thema von torud · begonnen am 31. Okt 2006 · letzter Beitrag vom 1. Nov 2006
Antwort Antwort
Seite 1 von 2  1 2      
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 14:58
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...
Danke
Tom
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#2

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 15:01
Jedes Projekt hat das Application.OnException -Event, in diesem sollte es dir möglich sein jeglichen Fehler abzufangen bzw zu unterdrücken.
  Mit Zitat antworten Zitat
Benutzerbild von leddl
leddl

Registriert seit: 13. Okt 2003
Ort: Künzelsau
1.613 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 15:03
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)
Axel Sefranek
A programmer started to cuss, cause getting to sleep was a fuss.
As he lay there in bed, looping round in his head
was: while(!asleep()) ++sheep;
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#4

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 15:05
Hallo nicht Wissender!

Du kannst Hier im Forum suchenApplication.OnException mit einer eigen Klasse überschreiben,
dann kannst Du mit den Fehlern machen, was Du willst...

Oder wenn Du nur an einer Programmstelle nen Fehler abfangen willst, Hier im Forum suchentry Hier im Forum suchenexcept end rundum basteln...

Edit: Gleich zwei rote Kästen, die nicht da waren, das geht echt zu weit
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 15:06
Fheler generell zu nterdrücken halze ich nicht für sehr gut. Der Benutzer sollte schon wissen, was den fehler verursacht hat und warum.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 15:21
Zitat von Luckie:
... was den fehler verursacht
In dem Fall tippe ich mal auf den Programmierer...
Zitat von Luckie:
hat und warum.
... wegen Zeitnot

Du könntest in nem neuem Thread Fragen, vielleicht kann Dir wer helfen, den Fehler zu finden.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von TeronG
TeronG

Registriert seit: 19. Jul 2004
Ort: München
960 Beiträge
 
Delphi 2007 Professional
 
#7

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 16:00
dsdt.info tutorial:
Application.OnException := AppException;
Delphi-Quellcode:
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;
wenn du den Messagedlg wech machst werden alle fehler ignoriert ... ob das allerdings schön ist musste selber wissen
龍 Der Unterschied zwischen Theorie und Praxis ist in der Praxis größer als in der Theorie.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 20:25
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.
  • Kopieren eines kompletten Template-Ordners in einen Pages-Ordner, welcher vom Webbrwoser benutzt wird.
  • Laden der about_blank im TWebbrowser
  • Einlesen aller CP-Dateien aus einem festen Ordner. Daraus werden XML-Dateien generiert.
  • Erstellen aller Navigationsdateien/Seiten

Zu sehen ist das Ergebnis dann hier. Ich habe mal alles hochgeladen. LiveScore Die Seiten sind nur für den IE gemacht, bitte keine Meckereien auch nicht wegen der Ladezeiten. Das Projekt läuft nur auf lokalen Clients, die per UDP befüttert werden und sich dann bei jedem Punkt und jeder neuen Statistik aktualisieren...

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:
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;
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???
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von OldGrumpy
OldGrumpy

Registriert seit: 28. Sep 2006
Ort: Sandhausen
941 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Fehlermeldungen Applikationsweit unterdrücken...

  Alt 31. Okt 2006, 21:20
Zitat von torud:
Vielleicht muss ich ja mal das ganze Projekt hochschieben???
Das und ein paar Screenshots von den Fehlermeldungen wären sehr sinnvoll. Ausserdem solltest Du mal ein Tool wie MadExcept zum Einsatz bringen, und dann das generierte Log ebenfalls posten. Ich kann Dir da gerne behilflich sein.
"Tja ja, das Ausrufezeichen... Der virtuelle Spoiler des 21. Jahrhunderts, der Breitreifen für die Datenautobahn, die k3wle Sonnenbrille fürs Usenet. " (Henning Richter)
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#10

Neues Thema erstellen

  Alt 31. Okt 2006, 21:51
Und das alles bitte in einem NEUEM Thread...
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:49 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