Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Application.Terminate geht nicht mehr ? (https://www.delphipraxis.net/178525-application-terminate-geht-nicht-mehr.html)

DeddyH 13. Jan 2014 09:50

AW: Application.Terminate geht nicht mehr ?
 
Oder eine selbstdefinierte Message posten und in deren Handler Anwendung beenden.

arnof 13. Jan 2014 09:55

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von Zacherl (Beitrag 1243383)
Alternativ ein gutes altes ExitProcess(0) :P

Danke: Problem gelöst!

Union 13. Jan 2014 10:11

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von arnof (Beitrag 1243370)
Hi im Zuge auf meine Umstellung D5 auf XE2 ist mir aufgefallen, das Application.Terminate keine Funktion mehr hat!

Randbemerkung: Das hat bereits bei D7 schon nicht mehr so funktioniert.

Der schöne Günther 13. Jan 2014 10:13

AW: Application.Terminate geht nicht mehr ?
 
Nochmal das gleiche Thema:

http://stackoverflow.com/questions/912280/

Darin: Wenn du schon "hart" abschießen möchtest, dann besser über Halt:
Zitat:

Aside from that, do not call ExitProcess. Call Halt instead. Halt calls ExitProcess, but it also calls unit finalization sections and other Delphi-specific process-shutdown tasks.

jaenicke 13. Jan 2014 10:54

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von arnof (Beitrag 1243377)
Ich rufe es auf und die Applikation läuft munter weiter (Passwort falsch, dann habe ich Adminrechte :oops:)

Das heißt man muss nur das Beenden der Anwendung verhindern und schon hat man Adminrechte? Das hört sich eher nach einem Designproblem an.
Wieso wird die Anwendung denn überhaupt gestartet, sprich Fenster erstellt usw., wenn das Passwort falsch ist?

Viel sinnvoller wäre doch im Projektquelltext die Prüfungen zu machen, sei es dort direkt oder in einem Steuerungsobjekt. Dann brauchst du auch nichts explizit beenden, weil du einfach nur bei richtigem Passwort etwas machst. Und sonst bist du dann am end des Projekts und es ist automatisch beendet...

arnof 13. Jan 2014 12:05

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von jaenicke (Beitrag 1243402)
Zitat:

Zitat von arnof (Beitrag 1243377)
Ich rufe es auf und die Applikation läuft munter weiter (Passwort falsch, dann habe ich Adminrechte :oops:)

Das heißt man muss nur das Beenden der Anwendung verhindern und schon hat man Adminrechte? Das hört sich eher nach einem Designproblem an.
Wieso wird die Anwendung denn überhaupt gestartet, sprich Fenster erstellt usw., wenn das Passwort falsch ist?

Viel sinnvoller wäre doch im Projektquelltext die Prüfungen zu machen, sei es dort direkt oder in einem Steuerungsobjekt. Dann brauchst du auch nichts explizit beenden, weil du einfach nur bei richtigem Passwort etwas machst. Und sonst bist du dann am end des Projekts und es ist automatisch beendet...

Bitte mal richtig lesen, da ist kein Designfehler! Wenn das Programm sich nicht beendet, obwohl es das sollte werden auch keine Einschränkungen mehr gezogen, da es eigentlich schon beendet sein sollte nach einem falschen Login!

baumina 13. Jan 2014 12:12

AW: Application.Terminate geht nicht mehr ?
 
jaenicke meint es bestimmt so:

Delphi-Quellcode:
program PLM2012;

{$R *.res}

begin
  Application.Initialize;
...
  If AllesOK then Application.Run;
end.

arnof 13. Jan 2014 13:24

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von baumina (Beitrag 1243410)
jaenicke meint es bestimmt so:

Delphi-Quellcode:
program PLM2012;

{$R *.res}

begin
  Application.Initialize;
...
  If AllesOK then Application.Run;
end.

Sie läuft doch schon sonst müsste nicht Terminiert werden!

Aber das Problem ist doch gelöst zu Designtipps werde ich Fragen stellen, wenn ich Tipps brauche :wink:

jaenicke 13. Jan 2014 13:31

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von arnof (Beitrag 1243418)
Aber das Problem ist doch gelöst zu Designtipps werde ich Fragen stellen, wenn ich Tipps brauche :wink:

Ich glaube zwar weiter nicht, dass das kein Designproblem ist, aber wenn du keine Tipps in die Richtung möchtest, kannst du natürlich gerne bei deinem Weg bleiben, dann werde ich mich bei Posts von dir in Zukunft mit Tipps in Richtung Design oder Architektur entsprechend zurückhalten. Kein Problem. ;-)

baumina 13. Jan 2014 13:35

AW: Application.Terminate geht nicht mehr ?
 
Zitat:

Zitat von arnof
Sie läuft doch schon sonst müsste nicht Terminiert werden!

Die Frage bleibt : WARUM läuft sie schon, wenn man das Login VOR dem Application.Run machen könnte.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.
Seite 2 von 3     12 3      

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