![]() |
Re: Nach Schließen mit 'X' in die TNA
Zitat:
Zitat:
|
Re: Nach Schließen mit 'X' in die TNA
Hi nochmal!
Das Programm kann man dann via einem PopMenu beenden -> rechtsclick auf TNA und dann auf Beenden oder so ! (wie man das von vielen Programmen kennt, und ist eigentlich auch besser so !) Jetzt hab ich aber folgendes Problem mit
Code:
, weil nämlich das Abmelden (W2K) nicht mehr funzt. (Vermutlich weil sich mein Prog nicht mehr herkömmlich schließen lässt !?) :wall:
Action := caNone;
Application.Minimize; |
Re: Nach Schließen mit 'X' in die TNA
Und was passiert, wenn du anstatt
Delphi-Quellcode:
das OnCloseQuerry-Ereignis nimmst und
Action := caNone;
Delphi-Quellcode:
hineinschreibst?
if not BeendenErlaubt then
CanClose := false; BeendenErlaubt ist eine einfache boolsche Variable, dessen Wert du auch true setzen muss, wenn du im Tray auf "beenden" klickst. So als Beispiel. |
Re: Nach Schließen mit 'X' in die TNA
:hi:
oder einfacher :
Delphi-Quellcode:
mfg Tobias
CanClose := BeendenErlaubt
|
Re: Nach Schließen mit 'X' in die TNA
Dass ich immer so umständlich denke, wahrscheinlich kann ich all meine Quelltexte auf 1/3 verküzen. :lol:
|
Re: Nach Schließen mit 'X' in die TNA
Sorry, aber ich meine etwas anderes ....
Ich habe kein Problem mit dem Beenden des Programmes an sich. Unter "Beenden" im PopMenu nach rechtsklick auf TNA steht folgender Code:
Code:
, was das Porgramm samt Icon in der TNA beendet.
application.terminate;
Beim Abmelden des Users von W2K dürfte jedoch die Close anstatt der Terminate Methode für alle aktiven Programme aufgerufen werden, weswegen gar nichts passiert und ich zuerst das Programm manuell beenden muß bevor es geht ! :pale: Lukas |
Re: Nach Schließen mit 'X' in die TNA
In dem Punkt verstehe ich das Verhalten von Delphi-Anwendungen ehrlich gesagt auch nicht ganz.
Trotzdem gibt es eine Lösung für dein Problem. Verwende wie schon von Matze/Mirilin beschrieben eine Variable BeendenErlaubt in OnCloseQuery. Dann musst du nur noch dafür sorgen, dass sie auch beim Beenden durch Windows auf true gesetzt wird:
Delphi-Quellcode:
procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
begin if Msg.message = WM_CLOSE then BeendenErlaubt := true; Handled := false; end; procedure TForm1.FormCreate(Sender: TObject); begin Application.OnMessage := AppMessage; end; |
Re: Nach Schließen mit 'X' in die TNA
ich benutz inmoment die tray-komponente von den jedi's und den code hier beim clicken auf das x (im onclose-event):
Delphi-Quellcode:
... :drunken: ...
action := caHide;
jvtrayicon.Active := true; jvtrayicon1.HideApplication; |
Re: Nach Schließen mit 'X' in die TNA
@Niko:
Danke für deine Mühen, geholfen hat es leider auch nicht. Das Programm bleibt stur wie ein Bock erhalten :( Macht nichts ... ich machs jetzt eh' ganz anders ! |
Re: Nach Schließen mit 'X' in die TNA
:gruebel: Versteh ich eigentlich nicht; bei mir hat es so funktioniert (Delphi 7).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:12 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