AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Prism Application.Exit geht nicht? [erledigt]
Thema durchsuchen
Ansicht
Themen-Optionen

Application.Exit geht nicht? [erledigt]

Ein Thema von MathiasSimmack · begonnen am 29. Feb 2004 · letzter Beitrag vom 29. Feb 2004
Antwort Antwort
MathiasSimmack
(Gast)

n/a Beiträge
 
#1

Application.Exit geht nicht? [erledigt]

  Alt 29. Feb 2004, 17:57
Ich versuche gerade im Create-Ereignis einer .NET-Anwendung bei bestimmten, nicht erfüllten Bedingungen die Anwendung abzubrechen. Von der VCL kenne ich es so:
Delphi-Quellcode:
if(Bedingung_nicht_erfüllt) then
  Application.Terminate;
Das meiner Meinung nach gleiche bei .NET (Delphi 8 Pro)
Delphi-Quellcode:
if(Bedingung_nicht_erfüllt) then
  Application.Exit;
funktioniert nicht. Das Programm geht unbeirrt weiter und verursacht dann natürlich einen Fehler, weil die zuvor definierte Bedingungsprüfung ja nicht ohne Grund da steht.

Kennt jemand den korrekten Weg, die Anwendung zur Aufgabe zu bewegen?

Danke, und Gruß.
  Mit Zitat antworten Zitat
Benutzerbild von r_kerber
r_kerber

Registriert seit: 11. Feb 2003
Ort: Trittau
3.538 Beiträge
 
Delphi XE Professional
 
#2

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 18:19
InForms oder VCL.Net?
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 18:20
In WindowsForms kannst du ja mal

System.Environment.Exit(0); versuchen.

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 c113plpbr
c113plpbr

Registriert seit: 18. Nov 2003
Ort: localhost
674 Beiträge
 
Delphi 2005 Professional
 
#4

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 18:22
Application.Exit; funzt bei mir perfekt! (D8 Architect; WinApp) Bist du dir auch sicher das das aufgerufen wird? setze mal haltepunkte rein!

cu, Philipp
Philipp
There is never enough time to do all the nothing you want.
*HABENWILL*
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#5

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 19:24
Eine Haltepunkt wird nicht nötig sein. Zum einen habe ich in der eigentlichen Anwendung, um die es mir geht, ja noch eine Messagebox, die mich auf den Fehler (= die nicht erfüllte Bedingung) aufmerksam macht. Und "Application.Exit" liegt im selben begin/end-Block.

Aber im Anhang mal ein kleines Beispielprojekt, das mich persönlich vor einige Rätsel stellt. Ich habe nämlich bemerkt, dass "Application.Exit" nur funktioniert wenn danach nichts mehr kommt. Das Sample im Anhang enthält im "OnLoad"-Ereignis der Form nur diese beiden Zeilen:
Delphi-Quellcode:
procedure TWinForm.TWinForm_Load(sender: System.Object;
  e: System.EventArgs);
begin
  Application.Exit;

  MessageBox.Show('ich laufe');
end;
Normalerweise schwachsinnig, da vor der Messagebox das Aus kommen sollte. Kommt es aber nicht. Ich sehe die Box. Wenn ich den Befehl mit der Messagebix allerdings auskommentiere, dann zeigt auch "Application.Exit" Wirkung.



Liegt das an .NET oder an Delphi?
Will sagen: Könnte das vielleicht mal jemand mit C# oder VB.NET probieren.
Angehängte Dateien
Dateityp: zip project1_209.zip (5,7 KB, 4x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

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

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 19:36
Zitat von MathiasSimmack:
Eine Haltepunkt wird nicht nötig sein. Zum einen habe ich in der eigentlichen Anwendung, um die es mir geht, ja noch eine Messagebox, die mich auf den Fehler (= die nicht erfüllte Bedingung) aufmerksam macht. Und "Application.Exit" liegt im selben begin/end-Block.

Aber im Anhang mal ein kleines Beispielprojekt, das mich persönlich vor einige Rätsel stellt. Ich habe nämlich bemerkt, dass "Application.Exit" nur funktioniert wenn danach nichts mehr kommt. Das Sample im Anhang enthält im "OnLoad"-Ereignis der Form nur diese beiden Zeilen:
Delphi-Quellcode:
procedure TWinForm.TWinForm_Load(sender: System.Object;
  e: System.EventArgs);
begin
  Application.Exit;

  MessageBox.Show('ich laufe');
end;
Normalerweise schwachsinnig, da vor der Messagebox das Aus kommen sollte. Kommt es aber nicht. Ich sehe die Box. Wenn ich den Befehl mit der Messagebix allerdings auskommentiere, dann zeigt auch "Application.Exit" Wirkung.



Liegt das an .NET oder an Delphi?
Will sagen: Könnte das vielleicht mal jemand mit C# oder VB.NET probieren.
Unter D8 Pro wird die MessageBox auch angezeigt und die Anwendung nicht beenden. Ersetze ich Application.Exit durch System.Envivornment.Exit(0); wird die Anwendung korrekt beendet.

Mit dem C# Builder teste ich es gleich sofort auch mal..
Edit: Beim C# wird die MessageBox ebenfalls angezeigt, wenn ich Application.Exit verwende.

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
MathiasSimmack
(Gast)

n/a Beiträge
 
#7

Re: Application.Exit geht nicht?

  Alt 29. Feb 2004, 21:47
Ich danke dir für den Hinweis.
Jetzt geht´s.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:26 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