AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Vom Programmablauf abhängig schließende Meldungsbox
Thema durchsuchen
Ansicht
Themen-Optionen

Vom Programmablauf abhängig schließende Meldungsbox

Ein Thema von Delphi-Laie · begonnen am 6. Nov 2008 · letzter Beitrag vom 6. Nov 2008
 
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Vom Programmablauf abhängig schließende Meldungsbox

  Alt 6. Nov 2008, 19:59
Hallo Delphianer!

Ihr alle kennt das Problem: Man startet ein Programm (oder im Verlaufe seines späteren Ablaufes), und es tut sich - scheinbar - nichts. Abgestürzt? Nein, es hat zu tun, ein Zustand, der irgendwann ein Ende hat, doch wenn man das nicht weiß, hat man weniger Geduld, darauf zu hoffen und zu warten.

Das Problem, eine Meldung wegklicken zu müssen, sonst geht es nicht weiter, läßt sich z.B. mit Luckis selbstschließenden Messageboxen lösen, jedoch wissen die nicht, wann es wirklich im Programmablauf weitergeht (sofern ich das richtig verstand, man muß ja eine "Lebensdauer" bis zur selbständigen Schließung angeben).

Ich habe mir folgende beispielhafte, individuell natürlich anpaßbare Lösung als ewiger Delphi-Laie selbst zusammengepfriemelt:

Delphi-Quellcode:
var Form:TForm;
  Label1:TLabel
.
.
.
Form:=TForm.Create(Application);
Form.Width:=112;
Form.Height:=25;
Form.Left:=(Screen.Width-Form.Width) div 2;
Form.Top:=(Screen.Height-Form.Height) div 2;
Form.BorderStyle:=bsNone;
Form.Color:=clFuchsia;
Label1:=TLabel.Create(Form);
Label1.parent:=Form;
Label1.Caption:='Bitte warten...';
Label1.Font.Height:=24;
Label1.Font.Color:=clYellow;
Form.FormStyle:=fsStayOnTop;
Form.show;
Form.Refresh;

{blabla zeitbeanspruchende Programmausführung}  
 
Form.Destroy
Wenn der Computer allerdings sehr schnell ist, dann kann es durchaus sein, daß das Meldungsfenster nur "aufblitzt" und trotz des kurzen Textes nicht (vollständig) gelesen werden kann, mithin Neugier weckt, die es nicht befriedigen kann. Dem kann man natürlich mit einem zusätzlichen Sleep abhelfen (z.B. 1000 ms) abhelfen, das verursacht natürlich aber auch unnötigen Verzug im Ablauf (auch wenn es nur 1 s ist). Den zeitbeanspruchenden Code und/oder dieses Meldungsfenster (erzeugen, bewahren und schließen) in (einen) einzelne(n) Thread(s) auszulagern, war mir dann aber doch zu sehr mit Kanonen auf Spatzen geschossen....
  Mit Zitat antworten Zitat
 


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 16:06 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