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 Programm reagiert nich auf Schließen (https://www.delphipraxis.net/69432-programm-reagiert-nich-auf-schliessen.html)

DelphiManiac 15. Mai 2006 08:47


Programm reagiert nich auf Schließen
 
Hallo,

vielleicht könnt ihr mir helfen, ich habe eine Prüfsoftware entwickelt,
die mehrere Prüfschritte hintereinander ausführt,
diese Prüfschritte sind in Funktionen gepackt und werden nacheinander,
in einem Button.Click -Event ausgeführt, nun habe ich das Problem, dass die Anwendung
vom Benutzer abbrechbar sein muss.

Ich habe in den Funktionen
Delphi-Quellcode:
Application.ProcessMessages
untergebracht, dass
hilft mir aber nur, dass die Anwendung noch bedienbar ist, der Button-Abbruch ist "klickbar",
jedoch reagiert mein Programm nicht auf das
Delphi-Quellcode:
Self.Close
meine Hauptfensters.

Erst nach Beendigung meiner Funktionen (der kompletten Button.Click-Prozedur) reagiert mein
Programm und schließt sich...

Könnt ihr mir helfen??
Hab schon die Suche bemüht jedoch nichts genaues gefunden

Danke schonmal im Vorraus

DelphiManiac

Klaus01 15. Mai 2006 08:54

Re: Programm reagiert nich auf Schließen
 
kannst Du mal die ButtonClick Methode hier einstellen?

Grüße
Klaus

Hawkeye219 15. Mai 2006 08:56

Re: Programm reagiert nich auf Schließen
 
Hallo,

du solltest zwischen den einzelnen Prüfschritten (oder sogar darin) die Eigenschaft Delphi-Referenz durchsuchenTApplication.Terminated prüfen und die OnClick-Methode ggf. verlassen.

Gruß Hawkeye

DelphiManiac 15. Mai 2006 09:14

Re: Programm reagiert nich auf Schließen
 
Danke Hawkeye219, :-D
mit
Delphi-Quellcode:
Application.Terminated
und einem Sprung aus der Prozedur kann ich nun mein Prog beenden.

Hab mich nur gewundert, das er nicht selbst (beim Beenden des Forms) rausspringt und die Anwendung sofort schließt,
das Prog hat die Programmschritte bis zum Ende durchgeführt, bis er aus der OnClick-Prozedur draussen war.

Mmmh komisch, wisst ihr warum das so ist?

sh17 15. Mai 2006 10:24

Re: Programm reagiert nich auf Schließen
 
Zitat:

Zitat von DelphiManiac
Mmmh komisch, wisst ihr warum das so ist?

Die Hauptbehandlungsroutine Deiner Anwendung ist nun mal gerade mit Deiner Prozedur beschäftigt, d.h. Sie ist mitten in Deiner Prozedur, über die Du die Kontrolle hast. Du musst also selbst die Terminate-Bedingung prüfen. es gibt keine möglichkeit, eine Prozedure zwangsweise von aussen (sauber) zu beenden.

Close setzt diese u.a. nur auf true

xZise 15. Mai 2006 12:23

Re: Programm reagiert nich auf Schließen
 
Es gäbe die Möglichkeit, wenn du eine While-Schleife hast. Du "musst" dann nur noch, die Bedingung auf false setzen, so dass er aus der Schleife herausspringt!


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