Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi IdIrc10 Prog soll sich selbst beenden (https://www.delphipraxis.net/167366-idirc10-prog-soll-sich-selbst-beenden.html)

TheGame1492 26. Mär 2012 15:20

IdIrc10 Prog soll sich selbst beenden
 
Hoi,

ich versuche über einen Irc-Cmd mein Prog zu beenden, dieser ruft folgende Procedure auf:

Code:
procedure TForm1.KillApp;
begin
  ConnectionTimer.Enabled := false;
  irc1.Disconnect;
  irc1.Free;
  ssl1.Free;
  Application.Terminate;
  //halt;

end;
Wenn ich einen Button auf der Form erstelle und diese Procedure aufrufe, funzt alles wie es soll.
Aber wenn ich via IRC-Cmd den Befehl geb, dann Disconnected er zwar, aber das Programm läuft weiter. :shock:

Woran liegt das????

Klaus01 26. Mär 2012 15:31

AW: IdIrc10 Prog soll sich selbst beenden
 
Hallo,

kanst Du nicht im onClose Ereignis (der Form1) Deine IRC connection freigeben.

Und dann anstelle von Application.Terminate einfach close verwenden.

Grüße
Klaus

TheGame1492 26. Mär 2012 15:56

AW: IdIrc10 Prog soll sich selbst beenden
 
Schon probiert geht alles nicht :(

Klaus01 26. Mär 2012 15:59

AW: IdIrc10 Prog soll sich selbst beenden
 
.. wie steht es mit debuggen...

Springt die Application denn in das onClose Ereignis?
Laufen eventuell noch Threads die das Beenden der Application verhindern (könnten)?

Grüße
Klaus

Bummi 26. Mär 2012 16:22

AW: IdIrc10 Prog soll sich selbst beenden
 
Schick Deiner Anwendung per PostMessage die Anforderung zum Beenden, damit bist Du aus der Threadprozedur raus wenn die Anwendung abgeräumt wird.

Delphi-Quellcode:
const
  KillMessage = WM_USER + 200;
.......

    procedure Kill(var Msg: TMessage); message KillMessage;
......

Procedure TForm1.Killapp;
begin
 PostMessage(Handle,KillMessage,0,0) ;
end;


procedure TForm1.Kill(var Msg: TMessage);
begin
  ConnectionTimer.Enabled := false;
  irc1.Disconnect;
  irc1.Free;
  ssl1.Free;
  Application.Terminate;
end;

TheGame1492 26. Mär 2012 16:46

AW: IdIrc10 Prog soll sich selbst beenden
 
Denk euch, die Bummi Methode funzt :spin:

DeddyH 26. Mär 2012 16:58

AW: IdIrc10 Prog soll sich selbst beenden
 
Aber komm nicht auf die Idee, PostMessage in SendMessage zu ändern, dann isses wieder Essig ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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