AGB  ·  Datenschutz  ·  Impressum  







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

Programm richtig beenden

Ein Thema von looser · begonnen am 25. Mai 2003 · letzter Beitrag vom 26. Mai 2003
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#1

Programm richtig beenden

  Alt 25. Mai 2003, 19:16
Ein Programm startet per PlaySND eine Wave-Datei.
Wenn das Haupfenster geschlossen wird stoppen ich auch
die Soundwiedergabe (per Befeht in OnClose).
Trotzdem wird im Taskmanager noch ein Task mit dem EXE-Namen
angezeigt der kräftig CPU-Resourcen verbraucht.
Also wie beende ich auch diesen Task ?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 25. Mai 2003, 19:31
versuchs einfach mal mit

  Application.Terminate;
David F.
  Mit Zitat antworten Zitat
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#3
  Alt 25. Mai 2003, 19:43
Muß mich korrigieren.
EXE ist nur einmal im Taskmanager.
Zur normalen Laufzeit der EXE (Sound spielt)
sogut wie keine CPU Auslastung bei EXE.
Habe im OnClose-Ereignis der Form1 nun :

playsound (nil,0,snd_async);
application.terminate;

Sobald ich Proggi mit X beende geht CPU-Auslastung auf
der EXE gegen 100% und EXE läuft halt irgendwie weiter.
  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
  Alt 25. Mai 2003, 19:49
application.terminate im onClose??!?!?!?!?!?!

gott bewahre!! mach das DA mal weg!
David F.
  Mit Zitat antworten Zitat
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#5
  Alt 25. Mai 2003, 19:58
Zur Info, warum man das NIEMALS machen sollte:
Application.Terminate; terminiert zwar die Anwendung, ruft aber davor noch alle OnClose-Ereignisse des Hauptformulares auf. Somit steckst du in einer Endlosschleife.
Genauso gut/schlecht könntest du schreiben (im OnClose-Ereignis):
Delphi-Quellcode:
// tu irgendwas
Close;
Chris
  Mit Zitat antworten Zitat
Benutzerbild von looser
looser

Registriert seit: 25. Mai 2003
15 Beiträge
 
Delphi 7 Professional
 
#6
  Alt 25. Mai 2003, 20:02
Jeder saacht mach wech.
Aber wohin sollich es denn tun ?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#7
  Alt 25. Mai 2003, 20:02
Application.Terminate ruft halt nicht die Sachen der onClose Behandlungsroutine auf!!
David F.
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#8
  Alt 25. Mai 2003, 20:05
Hallo,
Zitat von mirage228:
Application.Terminate ruft halt nicht die Sachen der onClose Behandlungsroutine auf!!
Dem muss ich mich anschliessen.

Beendet man das Programm mit Close, so wird auch OnClose aufgerufen, bei App.Terminate ist es aber OnDestroy!

Grüsse, Daniel

Nachtrag: Wer es ganz genau wissen will:
http://www.delphipraxis.net/viewtopic.php?t=200
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#9
  Alt 25. Mai 2003, 20:07
Eigentlich is doch Application.Terminate nur ein Befehl, der die Anwendung kontrolliert herunterfährt, oder?
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#10
  Alt 25. Mai 2003, 20:10
Hallo,
Zitat von Stanlay Hanks:
Eigentlich is doch Application.Terminate nur ein Befehl, der die Anwendung kontrolliert herunterfährt, oder?
Ja. Bei Close wird die Anwendung nur geschlossen, aber nicht wirklich beendet. Also sozusagen nur versteckt.
Wenn Du eine Anwendung mit OnClose schliesst, so ist es beim nächsten Programstart sofort da.
Beendest Du aber mit Terminate, so wird auch die Anwendung wieder aus dem Speicher gelöscht und muss beim nächsten Start komplett neu geladen werden.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 02:00 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