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 2 von 3     12 3      
Cöster

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

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 21:27
Zitat von Sunlight7:
Nicht ganz verstehen.
Man kann Halt doch auch ohne Parameter aufrufen. Dann wird keine Message angezeigt. Wozu gibt's das?
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

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

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 21:37
Das stammt IMHO noch von DOS zeiten, vergleichbar mit dem System-Befehl von Basic.
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#13

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 22:40
Halt entspricht dem "Return" der Main-Funktion auch C
Man kann bei Halt also ein Returncode zurück geben welcher dann über Errorlevel abgefragt werden kann.
Somit haben andere Programme die Mögichkeit herauszufinden ob ein Programm ordentlich durchgelaufen wurde oder abgebrochen.
Dies wird zum Beispiel von Setup-Programmen genutzt welche andere Programme aufrufen. Liefert ein Programm welches vom Setup ausgeführt wird nicht das entsprechende Errorlevel zurück wird das ganze Setup abgebrochen etc.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 22:46
Moin Zusammen,

also für mich ist in den meisten Fällen close der Befehl mit dem ich ein Programm beende.
Application.Terminate hat, für mich, den Nachteil, dass es das OnClose- und vor allem das OnCloseQuery-Event nicht aufruft.
Die werden zwar nicht immer benötigt, aber wenn doch muss ich mir anschliessend keine Gedanken darum machen, warum die genannte Events wohl nicht durchlaufen werden

Halt kommt bei mir eigentlich nur dann in Frage, wenn ich, wie Jens schon erläutert hat, ein Konsolenprogramm habe, dass über Errorlevel einen Rückgabewert hat.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#15

Re: halt/exit/terminate/close

  Alt 26. Okt 2006, 23:00
Mir fällt grad noch ein das bei Halt noch die "Finalization"-Abschnitte durchlaufen werden. Gibt es eine Variante wo dies nicht der Fall ist? Ich hab's bisher immer mit TerminateProcess gelöst wenn ich dies verhindern wollte was aber nicht die feine englische Art ist.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Rob09

Registriert seit: 14. Aug 2007
58 Beiträge
 
Delphi 6 Personal
 
#16

AW: halt/exit/terminate/close

  Alt 31. Mai 2011, 16:58
Hi! Mal ne wichtige Frage:

Angenommen, ich erstelle irgendwo im Programm ne Menge Objekte und beende es irgendwann mit Halt. Sofern es nirgends unter finalization geschieht, werden diese Objekte ja nicht zerstört. Wird der Speicher unter Windows dann trotzdem freigegeben, nachdem das Programm mit Halt abgebrochen wurde? Bzw. wird nach dem Schließen/Abbrechen eines Programms nicht ohnehin sämtlicher Speicher (auch Speicherlecks), der durch dieses belegt wurde, freigegeben?

Beste Grüße!
Robert
  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
 
#17

AW: halt/exit/terminate/close

  Alt 31. Mai 2011, 17:08
Hallo Robert,

Wenn das Programm beendet wird, dann markiert Windows alle vom Programm verwendeten Speicherseiten wieder als frei.
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
Rob09

Registriert seit: 14. Aug 2007
58 Beiträge
 
Delphi 6 Personal
 
#18

AW: halt/exit/terminate/close

  Alt 31. Mai 2011, 17:10
Vielen Dank für die schnelle Antwort, Neutral General!
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

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

AW: halt/exit/terminate/close

  Alt 31. Mai 2011, 17:23
Probleme kann es z.B. bei gemeinsam genutzten DLLs geben. Ich weiß nicht, ob das für neue Windowsversionen auch gilt, aber zumindest bei XP noch wurden solche DLLs dann nicht mehr unbedingt entladen (wenn der Code zum entladen dann nicht mehr erreicht wird), weil die Referenzzählung durcheinander kam.

Unter anderem deshalb ist Halt nicht für produktive Anwendungen geeignet.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#20

AW: halt/exit/terminate/close

  Alt 31. Mai 2011, 17:39
Hallo Robert,

Wenn das Programm beendet wird, dann markiert Windows alle vom Programm verwendeten Speicherseiten wieder als frei.
Allerdings nur unter Windows NT und den darauf basierende Versionen (Win2k, XP, Vista, Win7, …). Gut, heutzutage sollte das kein großes Problem mehr sein, aber falls doch noch jemand Programme schreibt, die unter Win9x laufen sollen, dann bitte beachten, dass Windows einem dort nicht hinterherräumt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:08 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