AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Try-finally und modalresult

Ein Thema von idefix2 · begonnen am 21. Jun 2015 · letzter Beitrag vom 24. Jun 2015
Antwort Antwort
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#1

AW: Try-finally und modalresult

  Alt 21. Jun 2015, 13:34
Habe jetzt eben bemerkt, die Frage ist ein Unsinn.
Durch die Zuweisung an modalresult wird ja das Formular nur geschlossen, freigegeben wird es ja wenn überhaupt erst später.
Meine Sorge war nicht, ob das finally durchgeführt wird, davon kann man, denke ich, mit Sicherheit ausgehen, sondern ob es das Formular dann in allen Fällen noch gibt.

Geändert von idefix2 (21. Jun 2015 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Dejan Vu
(Gast)

n/a Beiträge
 
#2

AW: Try-finally und modalresult

  Alt 21. Jun 2015, 14:10
Beim Setzen von 'ModalResult' passiert erst einmal gar nichts. Außer, das ModalResult gesetzt wird. Erst wenn die Message, aufgrund dessen deine Methode aufgerufen wurde, abgearbeitet ist, wird ModalResult ausgewertet.

Steht auch so im VCL-Code.
  Mit Zitat antworten Zitat
idefix2

Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
 
RAD-Studio 2009 Pro
 
#3

AW: Try-finally und modalresult

  Alt 21. Jun 2015, 18:06
Alles klar.
Abgesehen davon wäre es egal. Sogar wenn das Close gleich durchgeführt würde, was nicht der Fall ist, wäre die Datenstruktur der Form immer noch da, also würde auch dann im finally nichts passieren. Dem sl.free ist es ja völlig egal, ob die Form gerade sichtbar oder unsichtbar ist.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.182 Beiträge
 
Delphi 12 Athens
 
#4

AW: Try-finally und modalresult

  Alt 23. Jun 2015, 09:36
Bei try finally kann aber die Routine bei Exceptions überall zum finally block herausspringen.

Dann könnte ModalResult undefiniert sein (oder zumindest nicht so wie du es gerne hättest).
Also ich definiere alles Wichtige schonmal bevor try finally, und nur wenn er bis zum Result := OK kommt
ist alles richtig durchgelaufen.

Ansonsten wäre das dann wie gewünscht.

Rollo
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#5

AW: Try-finally und modalresult

  Alt 23. Jun 2015, 14:02
Zitat aus der Online-Hilfe: Der Standardwert von ModalResult ist mrNone. Wenn Sie der Eigenschaft einen anderen Wert zuweisen, wird das Formular geschlossen, und der Wert wird zum Rückgabewert des ShowModal-Funktionsaufrufs, mit dem das Formular angezeigt wird.
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#6

AW: Try-finally und modalresult

  Alt 23. Jun 2015, 14:21
Ich habe mir angewöhnt, alles was im Formular zum Schließen beitragen kann (hier also die Stringlist) im "OnCreate" zu erzeugen und im "OnClose" wieder frei zu geben. In diesem Fall also würde sich die Frage dann gar nicht stellen und man müsste nicht darüber nachdenken, ob man es richtig macht.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Try-finally und modalresult

  Alt 23. Jun 2015, 14:36
Was man im OnCreate erzeugt und über die Lifetime der Form-Instanz benötigt, sollte man tunlichst im OnDestroy aufräumen.

Alle anderen Zeitpunkte/Events funktionieren nur unter bestimmten Bedingungen.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz