AGB  ·  Datenschutz  ·  Impressum  







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

halt/exit/terminate/close

Ein Thema von Cöster · begonnen am 26. Okt 2006 · letzter Beitrag vom 2. Jun 2011
Antwort Antwort
Seite 1 von 3  1 23      
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#1

halt/exit/terminate/close

  Alt 26. Okt 2006, 20:17
Hi!

Was sind eigentlich die Unterschiede zwischen Halt, Exit, Terminate und Close? Mit allen kann man das Programm beenden, mit Exit nur, wenn die aktuelle Prozedur das Hauptprogramm ist (was bedeutet das? im finalization-Teil?). Wann sollte man was benutzen, was sind die Vorteile sich gegenseitig gegenüber? Aus der Hilfe bin ich nicht schlau geworden.
  Mit Zitat antworten Zitat
shubbi
(Gast)

n/a Beiträge
 
#2

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:30
Halt beendet das Programm ziemlich brutal, ist also nicht zu empfehlen. (Delph6-Hilfe (EN): "Initiates abnormal termination of a program.")

Exit springt an das Ende der aktuellen Funktion/Prozedur. Ist machmal ganz praktisch.

Terminate ist eine Funktion von TApplication, also deiner Anwendung. Zum Beenden eines Programmes ist dies am besten, da dem Programm gesagt wird "so, jetzt darfst du dich beenden", so dass Resourcen noch freigegeben werden können (im Gegensatz zu Halt)

Close ist eine Funktion von TForm. Damit wird das jeweilige Fenster geschlossen. Ist dieses Fenster das Hauptfenster, so wird Apllication.Terminate automatisch aufgerufen.
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:40
Danke erstmal!
Aber es gibt doch sicherlich auch Situationen, in denen man Halt verwenden sollte.
Wenn die Prozedur, in der Exit aufgerufen wird, das "Hauptprogramm" ist, wird laut der Hilfe auch das Programm beendet. Was ist denn das "Hauptprogramm"?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#4

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:42
Hi,

das "Hauptprogramm" ist das, was in deiner DPR-Datei zwischen "begin" und "end" steht

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#5

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:42
[Mein Senf dazu]

Zitat von shubbi:
Exit springt an das Ende der aktuellen Funktion/Prozedur. Ist machmal ganz praktisch.
Zu beachten ist, das Exit noch in einen eventuell vorhandenen finally Block springt.

Zitat von shubbi:
Terminate ist eine Funktion von TApplication, also deiner Anwendung. Zum Beenden eines Programmes ist dies am besten, da dem Programm gesagt wird "so, jetzt darfst du dich beenden".
Terminate gibt's auch in Threads

[/Mein Senf dazu]

Edit: Der Abort ist manches mal auch praktisch, der alle Prozeduren im Stack auf Stumme art und weise verlässt.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
shubbi
(Gast)

n/a Beiträge
 
#6

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:50
@Sunlight7: Das mit dem Finally-Block wusste ich nicht.
TThread.Terminate (übrigens gibts auch TWebSession.Terminate ) war wohl nicht gemein.

@Cöster: Halt ist ein Überbleibsel aus Turbo Pascal Zeiten und hat meiner Meinung nach heute keine Vorteile mehr.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#7

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 20:56
Man lernt doch immer was dazu

Der Halt hat für mich große Vorteile, den nehme ich anstelle von ShowMessage, wenn ich testen will, ob irgendein neues Ding funktioniert
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Cöster

Registriert seit: 6. Jun 2006
589 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 21:08
Zitat von Sunlight7:
Der Halt hat für mich große Vorteile, den nehme ich anstelle von ShowMessage, wenn ich testen will, ob irgendein neues Ding funktioniert
Ok, aber wozu gibt es dann Halt auch ohne Meldung?
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#9

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 21:14
Nicht ganz verstehen.

Wenn ich ShowMessage nehmen würde, müßte ich zuerst OK klicken und dann noch das Programm schließen, bis ich zum Quelltext komme.

Bei Halt macht sich das Programm zu und ich weiß, es hat funktioniert.
OK, man könnte auch Application.Terminate nehmen, aber Halt schreibt sich halt mal schneller
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
26. Okt 2006, 21:18
Dieses Thema wurde von "SirThornberry" von "Sonstige Fragen zu Delphi" nach "Object-Pascal / Delphi-Language" verschoben.
Antwort Antwort
Seite 1 von 3  1 23      


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 12:17 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