AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Showmodal sperrt zyklisches Event

Ein Thema von Delphi_Rainer · begonnen am 10. Jun 2021 · letzter Beitrag vom 10. Jun 2021
Antwort Antwort
Delphi_Rainer

Registriert seit: 24. Apr 2009
11 Beiträge
 
#1

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 13:15
Hallo !

Habe mal ein Beispielprogramm hochgeladen.

Wenn auf den Button geklickt wird, dann kommt es ab und zu vor das der Timer nicht mehr getriggert wird. Immer wenn ich den Klick in der Ausführung des Events hinbekomme !

Gruß Rainer
Angehängte Dateien
Dateityp: zip Modal_Fenster.zip (3,13 MB, 12x aufgerufen)
  Mit Zitat antworten Zitat
EmWieMichael

Registriert seit: 28. Mär 2012
103 Beiträge
 
#2

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 14:10
Ein modales Fenster unterbricht die Ausführung des aufrufenden Fensters, also in Deinem Fall auch die Ausführung des Timers. Musst Du das Fenster modal anzeigen?
  Mit Zitat antworten Zitat
Delphi_Rainer

Registriert seit: 24. Apr 2009
11 Beiträge
 
#3

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 14:28
Hallo !

Ja die Anwendung ist so programmiert das der Anwender erst Eingaben , Auswahl einer Funktion ausführen darf bevor er eine andere Funktion ausführen kann. Ist vom Kunden so vorgegeben.

Aber...Warum unterbricht Delphi mitten im Event die Ausführung und öffnet das Modale Fenster ???

Das ist doch falsch !!!

Gruß Rainer
  Mit Zitat antworten Zitat
EmWieMichael

Registriert seit: 28. Mär 2012
103 Beiträge
 
#4

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 14:36
...
Aber...Warum unterbricht Delphi mitten im Event die Ausführung und öffnet das Modale Fenster ???
...
Nimm doch mal "application.ProcessMessages" raus.
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.493 Beiträge
 
Delphi 12 Athens
 
#5

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 14:42
Ursache ist klar das application.ProcessMessages innerhalb eines Timer-Ereignisses aufgerufen wird.
Wenn innerhalb dieses application.ProcessMessages dann ShowModal aufgerufen wird, wartet die Anwendung an dieser Stelle und setzt das Timer-Ereigniss erst danach fort.
  Mit Zitat antworten Zitat
BerndS

Registriert seit: 8. Mär 2006
Ort: Jüterbog
498 Beiträge
 
Delphi 12 Athens
 
#6

AW: Showmodal sperrt zyklisches Event

  Alt 10. Jun 2021, 14:51
Dein Beispiel macht mit drei kleinen Änderungen das, was du warscheinlich erreichen willst.
Aber ich würde das Design überdenken und eine andere Lösung suchen.
1. Änderung Unit2:
Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
 form1.show;
end;
2./3. Änderung Unit1
Delphi-Quellcode:
implementation

{$R *.dfm}

uses Unit2;

procedure TForm1.FormHide(Sender: TObject);
begin
  Form2.Enabled := True;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
  Form2.Enabled := False;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 22:35 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-2025 by Thomas Breitkreuz