Einzelnen Beitrag anzeigen

rokli

Registriert seit: 21. Mär 2009
Ort: Rödinghausen
301 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: falsches Fenster im Vordergrund

  Alt 12. Nov 2019, 08:30
Guten Morgen zusammen!

Leider war gestern soviel los, dass ich nicht eher antworten konnte.

Also das ist schon richtig so, dass ich erreichen will, dass der Anwender ausschließlich in dem Fenster Form2 arbeiten kann, bis er damit fertig ist, dass Fenster dann schließt und anschließend mit der Anwendung in der Form1 weiter macht.

Zitat aus Beschreibung im docwiki http://docwiki.embarcadero.com/Libra...Form.ShowModal

"... Da bei einem modalen Formular die Anwendung unterbrochen wird, bis der Benutzer das Fenster wieder schließt, ..." Daraus habe ich abgeleitet, dass die Form1 nicht verwendet werden kann (=> und im Hintergrund bleibt!!), bis Form2 wieder geschlossen worden ist. Und in der Zwischenzeit soll nur in Form2 gearbeitet werden.

Die Anwendung sieht tatsächlich so ähnlich aus, wie Delbor das geschrieben hat. Allerdings verwende ich den ModalResult nicht, da ich den für meinen Ablauf gar nicht benötige. Innerhalb von Form2 befinden sich zwei Buttons, bei denen bei beiden der ModalResult = mrNone ist. Geschlossen wird Form2 über das rote Kreuz oben rechts. Die fiktive Form2 ist in der echten Anwendung das Programm frmHandlager.

Delphi-Quellcode:
procedure TfrmMain.bbtHandlagerClick(Sender: TObject);
{-------------------------------------------------------------------------------
   Handlager starten
-------------------------------------------------------------------------------}

begin
   p_ProtoWrite('');
   p_ProtoWrite('Aufruf Handlager aus frmMain');
   frmHandlager.ShowModal;
   p_ProtoWrite('Handlager beendet');
end;
Und wenn die Situation eintritt, dass das Fenster von Form1 nach vorne kommt, kann darin nicht geklickt werden (da die Form1 ja unterbrochen ist), sondern für den Anwender fühlt sich das son an, als wenn die Anwendung sich aufgehängt hat, bzw. das "sein Programm" (=> Form2) verschwunden ist. Mit dem ModalResult habe ich bisher nicht gearbeitet, weil ich damit keine Steuerung bauen wollte, sondern über den Mechanismus Form2.ShowModal sicherstellen wollte, dass der Anwender nur das "richtige" Fenster 2 verwendet.

Ich hoffe mal, dass mein Vorgehen nun etwas genauer herausgearbeitet ist.
Rolf
wenn nicht anders angegeben, schreibe ich zu D7, XE2 und MS SQL - ansonsten fragen Sie ihren Administrator oder einen Operator. Update 06/2020: Delphi 10.4 Sydney
  Mit Zitat antworten Zitat