Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi MessageDialog nach 5 Minuten schließen lassen (https://www.delphipraxis.net/23295-messagedialog-nach-5-minuten-schliessen-lassen.html)

ak1 1. Jun 2004 09:05


MessageDialog nach 5 Minuten schließen lassen
 
Hallo Leute,

wie kann ich einen geöffneten Messagedialog(messagedlg) nach 5 Minuten vom Programm schließen lassen und dann ein bestimmten Messageresult weitergeben.
Also wenn der User nach 5 minuten keinen Button anklickt, dann soll das Programm selbstständig MessageResult = Yes ausführen.

Gruß

P.S. mit einem eigenen Formular währe es nicht das Problem...

Bernhard Geyer 1. Jun 2004 09:29

Re: MessageDialog nach 5 Minuten schließen lassen
 
Du könntest einen Thread starten, welcher nach 5 Minuten schaut ob der Dialog noch vorhanden ist und diesem dann eine entsprechende Meldung sendet.

ak1 1. Jun 2004 09:37

Re: MessageDialog nach 5 Minuten schließen lassen
 
So ein kleines Beispiel wäre super. :-)

ak1 1. Jun 2004 19:10

Re: MessageDialog nach 5 Minuten schließen lassen
 
Wie kann ich denn schauen, ob eine messagedlg offen ist?? Und wie übergeben ich diesem messagedlg einen messageresult?

Gruß

nailor 1. Jun 2004 19:27

Re: MessageDialog nach 5 Minuten schließen lassen
 
also ich glaube es wäre einfacher eine eigene form zu nehmen, auf die eine label mit der frage, 1-4 buttons mit ja/nein/vielleicht/alle und einen timer, der das ganze nach 5 minuten schließt zu packen...

Ultimator 1. Jun 2004 20:32

Re: MessageDialog nach 5 Minuten schließen lassen
 
Wozu braucht man denn einen Dialog mit Vielleicht als Auswahlmöglichkeit?
Außerdem könnte man das auch ohne Timer machen. Nämlich mit delay:
Delphi-Quellcode:
procedure delay(msec:longint);
var
  start,stop:longint;
begin
  start := gettickcount;
  repeat
  stop := gettickcount;
  application.processmessages;
  until (stop - start ) >= msec;
end;

nailor 1. Jun 2004 21:08

Re: MessageDialog nach 5 Minuten schließen lassen
 
das mit vielleicht war ein joke. nächstmal schreib ich es dabei :?

delay finde ich persönlich ***. es unterbindet zuweilen das schließen einer form. und bei fünf minuten ist das ***

Bernhard Geyer 2. Jun 2004 07:15

Re: MessageDialog nach 5 Minuten schließen lassen
 
Zitat:

Zitat von ak1
So ein kleines Beispiel wäre super. :-)

Ist zwar kein 100%-Beispiel (Abgeleitet von einer anderen Lösung):
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
  Sleep(5*60*1000); // 5 min

  wnd := FindWindowEx(Application.MainForm.Handle, 0, nil, 'GesuchterFensterTitel');

  if wnd <> 0 then
  begin
    BringWindowToTop(wndOption);                   // Ab und zu nötig
    SendMessage(wndOption, WM_COMMAND, ID_OK, 0);  // OK-Taste drücken
  end;
end;

ak1 2. Jun 2004 11:17

Re: MessageDialog nach 5 Minuten schließen lassen
 
Danke Dir, werde das mal ausprobieren.

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:10 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