Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Getimete (Fehler)Meldungen


HenryHux - Mo 11.10.10 12:08
Titel: Getimete (Fehler)Meldungen
Hi, ich will eine Meldung per

Delphi-Quelltext
1:
MessageDlg('Nachricht', mtinformation, [mbYes, mbNo], 0)                    

ausgeben, die sich nach einer Zeit schließt. Vlt so um die 15 sekunden.
Ich wüsste bis jetzt nicht wie, würde eine neue Form anlegen, die sich nach einer Zeit schließt, ist aber zu unübersichtlich.
Habe auch im WWW nichts gefunden, deswegen frag ich hier einfach mal, obs mit showmessage oder messagedlg geht.

Lg

Henry


Moderiert von user profile iconNarses: Topic aus Delphi Language (Object-Pascal) / CLX verschoben am Mi 13.10.2010 um 10:04


BenBE - Mo 11.10.10 12:24

Siehe CreateMessageDialog; das dort gelieferte Formular mit ShowModal anzeigen und durch ergänzen eines zusätzlichen Timers das ModalResult auf einen passenden Wert setzen.


Delete - Mo 11.10.10 12:25

MessageboxTimeout: http://www.michael-puff.de/Artikel/MessageBoxTimeout.shtml
Aber was hat das für einen Sinn? Wenn ich nicht am Rechner bin, sehe ich sie nicht. Und wenn ich sie nicht sehen muss, dann ist sie überflüssig. Und wenn ich am Rechner bin, werde ich sie selber wegklicken und nicht 15 Sekunden warten.


HenryHux - Mo 11.10.10 12:31

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
MessageboxTimeout: http://www.michael-puff.de/Artikel/MessageBoxTimeout.shtml
Aber was hat das für einen Sinn? Wenn ich nicht am Rechner bin, sehe ich sie nicht. Und wenn ich sie nicht sehen muss, dann ist sie überflüssig. Und wenn ich am Rechner bin, werde ich sie selber wegklicken und nicht 15 Sekunden warten.


Wow das ist mal nen Argument. Hab ich noch garnet drüber nachgedacht :D
Aber ty ich gucks mir ma an vlt brauch ichs ja doch mal irgendwann =)


Reinhard Kern - Di 12.10.10 01:44

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
...
Aber was hat das für einen Sinn? Wenn ich nicht am Rechner bin, sehe ich sie nicht. Und wenn ich sie nicht sehen muss, dann ist sie überflüssig. Und wenn ich am Rechner bin, werde ich sie selber wegklicken und nicht 15 Sekunden warten.


Hallo,

manchmal gibt es schon Sinn: ich schreibe Messwert-Erfassungssysteme mit Laufzeiten bis zu einem Monat, da ist es für den User zwar durchaus interessant, ob die Verbindung zum Messgerät noch steht, aber nur wenn er da ist (möglicherweise schaut er ja gleich nach wieso). Antwortet keiner, verschwindet die Meldung nach x Sekunden wieder. Selbstverständlich ist ein Fortschrittsbalken für die Anzeige da, wie lang die Meldung noch angezeigt wird, und ein Button zum sofortigen Quittieren.

Bleibt die Störung, so wird ja auch beim Versuch der Wiederaufnahme eine neue Meldung erzeugt (oder die Laufzeit der noch angezeigten verlängert), verschwindet die Störung irgendwann (z.B. bei Problemen im Telefonnetz) rechtzeitig, erledigen sich auch die Fehlermeldungen von selbst. Was im Log steht, ist eine gaaanz andere Frage.

Gruss Reinhard


Delete - Di 12.10.10 03:48

OK, aber das sind extreme Ausnahmefälle. In einer normalen Anwendung ist ein sich selbst schließender Dialog überflüssig.


Reinhard Kern - Mi 13.10.10 01:45

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
OK, aber das sind extreme Ausnahmefälle. In einer normalen Anwendung ist ein sich selbst schließender Dialog überflüssig.


Als Konsequenz dieser Meinung liebe ich ganz besonders solche Programme, die im Fehlerfall im Abstand von einer Sekunde oder weniger den Bildschirm mit Fehlermeldungsboxen fluten, die man wenn überhaupt dann nicht schnell genug wegklicken kann, und das bis entweder der Speicher überläuft oder der User den PC abschaltet. Schön dass du solch liebe alte Gewohnheiten hochhältst.

Gruss Reinhard