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