Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Nach Schließen mit 'X' in die TNA (https://www.delphipraxis.net/20191-nach-schliessen-mit-x-die-tna.html)

Matze 14. Apr 2004 15:14

Re: Nach Schließen mit 'X' in die TNA
 
Zitat:

Zitat von MathiasSimmack
Das ist aber kein Firewall, oder? ;)

Deshalb sag ich's ja. ;)

Zitat:

Zitat von MathiasSimmack
Aber gut, da will die S(ch)pyware aktiv bleiben, das kann man verstehen ... :mrgreen:

Hmm, du könntest recht haben. :lol:

iddqd 15. Apr 2004 16:02

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:
Action := caNone;
Application.Minimize;
, weil nämlich das Abmelden (W2K) nicht mehr funzt. (Vermutlich weil sich mein Prog nicht mehr herkömmlich schließen lässt !?) :wall:

Matze 15. Apr 2004 16:32

Re: Nach Schließen mit 'X' in die TNA
 
Und was passiert, wenn du anstatt
Delphi-Quellcode:
Action := caNone;
das OnCloseQuerry-Ereignis nimmst und
Delphi-Quellcode:
if not BeendenErlaubt then
CanClose := false;
hineinschreibst?

BeendenErlaubt ist eine einfache boolsche Variable, dessen Wert du auch true setzen muss, wenn du im Tray auf "beenden" klickst. So als Beispiel.

Mirilin 15. Apr 2004 16:37

Re: Nach Schließen mit 'X' in die TNA
 
:hi:

oder einfacher :
Delphi-Quellcode:
CanClose := BeendenErlaubt
mfg Tobias

Matze 15. Apr 2004 16:44

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:

iddqd 15. Apr 2004 17:21

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:
application.terminate;
, was das Porgramm samt Icon in der TNA beendet.

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

Niko 15. Apr 2004 18:22

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;

Basic-Master 15. Apr 2004 23:46

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:
action := caHide;
jvtrayicon.Active := true;
jvtrayicon1.HideApplication;
... :drunken: ...

iddqd 16. Apr 2004 10:21

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 !

Niko 16. Apr 2004 17:01

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.
Seite 2 von 2     12   

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