AGB  ·  Datenschutz  ·  Impressum  







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

Application.Terminate in Vista

Ein Thema von PeterPanino · begonnen am 30. Apr 2007 · letzter Beitrag vom 1. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

Application.Terminate in Vista

  Alt 30. Apr 2007, 01:38
Hallo, wenn ich in Vista Application.Terminate; ausführe, ist der Prozess nach dem Beenden des Programms immer noch im Task-Manager zu sehen, läuft also noch. Kann das jemand reproduzieren?
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 01:44
Man könnte das schon mal testen. Aber das Application - Object zu benutzen und das unter Vista ? Macht das Sinn ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 01:46
Zitat von Hansa:
Aber das Application - Object zu benutzen und das unter Vista ? Macht das Sinn ?
Was hat das eine mit dem anderen zu tun?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 01:58
Zitat von Hansa:
... Aber das Application - Object zu benutzen und das unter Vista ? Macht das Sinn ?
Wieso soll das keinen Sinn machen?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 02:08
Weil jede VCL Anwendung das "Application Objekt" benutzt:
Delphi-Quellcode:
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
Und warum sollte man unter Vista keine Methoden dieses Objektes aufrufen?

Zu deinem Problem: Laufen eventuell noch irgendwelche nicht beendeten Threads?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#6

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 02:09
Zitat von Luckie:
Was hat das eine mit dem anderen zu tun?
Dann teste selber diese fragwürdige Sache. Kenne niemanden, der Application ohne Not direkt einsetzt. Und das Terminate scheint noch schlimmer zu sein, was man so hört. 8) Aber egal. Gebraucht wird es jedenfalls normalerweise nicht. Auf diesen Umstand wollte ich hinweisen. Mit Gewalt etwas passend zu machen, ja das geht irgendwie immer. Unter Vista vielleicht aber auch nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 02:22
Auch das ist Blödsinn. TApplication.Terminate tut nichts anders als MSDN-Library durchsuchenPostQuitMessage, also eine ganz normale API Funktion, aufzurufen:
Zitat:
The PostQuitMessage function posts a WM_QUIT message to the thread's message queue and returns immediately; the function simply indicates to the system that the thread is requesting to quit at some time in the future.
Und das ist eine ganz normale Art ein Windows GUI Programm zu beenden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 02:39
Zitat von Luckie:
... Zu deinem Problem: Laufen eventuell noch irgendwelche nicht beendeten Threads?
Keine eigenen Threads; was Komponenten betrifft, müsste ich das mal prüfen. Der Aufruf von Application.Terminate erfolgt im OnCreate-Event des Hauptformulars. (Nachher werden noch andere Formulare erzeugt; offensichtlich werden die noch erzeugt, obwohl Application.Terminate aufgerufen wurde, und dann erst das Programm beendet). Habe schon überlegt, ob ich deswegen nicht Halt verwenden sollte.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 02:44
Also mit Halt fährst du dein Programm nun wirklich gegen die Wand. Du solltest mal überlegen, ob es Sinn ergibt, was du da machst. Du steigst in das Auto ein und willst gleichzeitig wieder aussteigen. Das kann irgendwie nicht gehen. Also entweder steigst du erst gar nicht ein oder du steigst erst richtig ein und steigst dann wieder aus.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

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

Re: Application.Terminate in Vista

  Alt 30. Apr 2007, 06:03
Naja, mit Halt fährt man nicht wirklich gegen die Wand. Es ist auch eine "normale" Variante sein Programm zu beenden mit dem Vorteil einen Rückgabewert setzen zu können.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  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 03:41 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