AGB  ·  Datenschutz  ·  Impressum  







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

Application.Terminate die nette Option?

Ein Thema von Johannes013 · begonnen am 28. Nov 2011 · letzter Beitrag vom 28. Nov 2011
Antwort Antwort
Johannes013

Registriert seit: 2. Jun 2009
179 Beiträge
 
Delphi 5 Standard
 
#1

Application.Terminate die nette Option?

  Alt 28. Nov 2011, 16:31
Hi Leute!

Wenn ich von einer anderen Unit aus das Programm beenden will, so wie es sonst mit dem X-Button funktioniert, ist die nette Variante Application.Terminate?

Das hört sich irgendwie so aggressiv an

Gruß Johannes
Johannes
Der folgende Satz ist richtig.
Der vorherige Satz ist falsch.
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 16:53
Application.Terminate ist relativ "nett", denn die Anwendung schickt sich
selbst eine Windows Quit Message (WM_QUIT).

MSDN-Library durchsuchenTerminateProcess() oder Halt() wären wesentlich aggresiver und unfreundlicher.
Andreas

Geändert von shmia (28. Nov 2011 um 16:55 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:02
Je nachdem könnte/sollte eigentlich auch Application.MainForm.Close; funktionieren
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#4

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:02
Aber auch nur "relativ", weil OnCloseQuery (und vielleicht noch anderes) übergangen wird). Die schöne Variante wäre Application.MainForm.Close .

Noch schöner, wäre sich zu fragen, warum man aus ner anderen Unit überhaupt die Anwendung schließen will...

mfg

Christian
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.115 Beiträge
 
Delphi 12 Athens
 
#5

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:03
Über Application kommst du an die MainForm und der Schockst du ein Close.
Das Close der MainForm ruft dann Application.Terminate auf und beendet das Programm.

... falls die dieser Umweg lieber ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:22
Wird bei Terminate wenigstens Free ausgeführt?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:31
Ja, "nur" OnCloseQuery nicht. Die Speicherfreigabe dagegen funktioniert korrekt.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Bjoerk

Registriert seit: 28. Feb 2011
Ort: Mannheim
1.384 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 17:41
Ja, "nur" OnCloseQuery nicht. Die Speicherfreigabe dagegen funktioniert korrekt.
Danke Jaenicke, genau das wollte ich wissen, weil ich es bei mir so an vielen Stellen im Einsatz habe (if Aladdin.Execute <> Aladdin.CheckOkay then Application.Terminate).
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Application.Terminate die nette Option?

  Alt 28. Nov 2011, 18:25
Ich glaube, da würde ich noch ein bisschen an der Lampe rubbeln und das Konzept überarbeiten bzw. das Design. Ich würde das so gestalten, dass das Schießen der Form und somit beenden der Anwendung immer von der zum Formular gehörigen Unit ausgelöst wird. Ich als Kollege würde mich nämlich ziemlich wundern, wen nich den Code mal warten oder erweitern muss und mir in bestimmten Situationen das Programm einfach verschwindet.
Michael
Ein Teil meines Codes würde euch verunsichern.
  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 21:55 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