Zitat von
Codewalker:
Hallo zusammen.
Ich programmiere mir ein kleines Tool, welches einige Daten auf meinem Server sammelt (Speicherauslastung,An- und Abmeldeereignisse). Das Problem ist, dass bei einem Fehler eine MessageBox aufgeht und das Programm lahmlegt, weil niemand an dem Rechner ist und auf OK drücken könnte. Es gibt ja eine undokumentierte Funktion MessageBoxTimeOut, welche sich nach x Sekunden selbst schließt. Das geht auch ganz gut, nur rufen die Delphi-Bibliotheken selbst ja MessageBox und nicht MEssageBoxTimeOut auf. Kann man irgendwie alle Aufrufe von MessageBox nach MessageBoxTimeOut "umbiegen"
Halli Hallo,
vermeide einfach, daß Fehler auftauchen die eine Messagebox anzeigen könnten. Fange an kritischen Stellen Fehler mit try..execpt ab und reagiere entsprechend darauf (in ein Logbuch eintragen, Mail an den Admin schicken...).
Das ganze wird auf jeden Fall eine ganze Menge mehr Testaufwand bedeuten. Zu empfehlen wären da automatisierte Unittests mit DUnit oder anderen Testtools um die Serverapplikation auf mögliche Fehlerquellen abzuklopfen. Es ist auf jeden Fall nicht besonders elegant die Symptome (die Messageboxen) zu beseitigen die Krnkheit (die auftretenden Fehler) jedcoh im Programm zu lassen
Ciao,
Ralf