AGB  ·  Datenschutz  ·  Impressum  







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

Wie wird ein Fenster geschlossen?

Ein Thema von Marphy · begonnen am 12. Jul 2005 · letzter Beitrag vom 12. Jul 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#11

Re: Wie wird ein Fenster geschlossen?

  Alt 12. Jul 2005, 15:48
Zu Terminate:
Gut, es handelt sich also nicht um das Haupt-Formular .
Aber falls es so wäre, ist dann Terminate nicht die schnellste Lösung, wenn man die EventHandler auslassen will? Oder gibt es noch andere Nachteile?

Zu nil:
Schnell eine eigene Prozedur
Delphi-Quellcode:
procedure TMyForm.CloseWithoutPrompt;
begin
  OnClose{Query} := nil;
  Close;
end;
und mit Strg + R durch den Code gehen hätte es auch getan, aber Luckies Lösung ist wahrscheinlich doch die beste.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#12

Re: Wie wird ein Fenster geschlossen?

  Alt 12. Jul 2005, 15:57
Hallo zusammen,

@Sidorion:
Danke für deinen Lösungsvorschlag! Ich habe das Ganze zum Testen leicht modifiziert in eine kleine Demo gepackt (Anhang) und es funktioniert einwandfrei... Der Aufwand ist zwar nicht gleich 0, hält sich aber im Rahmen.
Falls jemand eine bessere/einfachere Lösung parat hat, bitte posten!!

@Luckie:
Das hat Sid ja im Großen und Ganzen schon gepostet In der Demo sind beide Varianten kombiniert.

@Sebastian:
Und was ist, wenn ich das Fenster dann wieder über Show() einblende und es über die Titelleiste schließe? Und drück dich nicht vor der anderen Frage!

Gruß, Marco
Angehängte Dateien
Dateityp: zip closingkind_140.zip (2,4 KB, 5x aufgerufen)
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#13

Re: Wie wird ein Fenster geschlossen?

  Alt 12. Jul 2005, 16:07
Zitat von Marphy:
Und was ist, wenn ich das Fenster dann wieder über Show() einblende und es über die Titelleiste schließe?
Hast ja Recht, ich war in Gedanken noch immer bei der MainForm . Man könnte natürlich den Wert von OnClose speichern und nach Close (ohne Klammern, wir sind doch nicht in C ) wieder zuweisen, aber Luckies und Sidorions Lösung ist ja sowieso die beste.

Zur dieser gewissen anderen Frage:
Der Umfang hat sich inzwischen verdoppelt, die Entwicklungszeit steigt dazu proportional . Der Code ist zu etwa 70% fertig, es fehlen noch ein Demo-Programm und wenigstens etwas Dokumentation. Jetzt aber genug mit OT .
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
DevilsCamp
(Gast)

n/a Beiträge
 
#14

Re: Wie wird ein Fenster geschlossen?

  Alt 12. Jul 2005, 16:08
Eine andere Möglichkeit wäre folgende:

Wenn man auf das X klickt, wird, soweit ich mich nicht irre, eine System-Botschaft an das Fenster geschickt (die nicht kommt, wenn man Close() aufruft).

Also einfach die Botschaften-Behandlung abfangen (WndProc oder so ähnlich) und bei der Botschaft den entsprechenden Code ausführen.
  Mit Zitat antworten Zitat
Marphy

Registriert seit: 24. Feb 2005
162 Beiträge
 
Delphi 7 Professional
 
#15

Re: Wie wird ein Fenster geschlossen?

  Alt 12. Jul 2005, 16:18
Hallo zusammen:

@Marc:
An sowas habe ich auch schon gedacht... Ist aber um einiges aufwändiger. Andererseits könnte man z.B. auch ermitteln, ob Windows versucht, die Anwendung zu beenden, weil der PC heruntergefahren wird.

@Sebastian:
Na, was hab ich dir gesagt? Wie gesagt, schreib mir, wenn das Teil fertig ist!

Gruß, Marco
Marco
Wo ein Wille ist, ist auch ein Weg. Aber wo ein Weg ist, ist nicht unbedingt auch ein Wille...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 19:16 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