Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Programm schließen per SendMessage (https://www.delphipraxis.net/25125-programm-schliessen-per-sendmessage.html)

cyberrowdy72 1. Jul 2004 15:29


Programm schließen per SendMessage
 
Mein Programm soll bei dem Starten einer neuen Instanz geschlossen werden, sodann immer nur eine Instanz mit den aktuellen Daten offen ist.
Die beim Start geöffnete Instanz schließe ich mit
Code:
Sendmessage(Findwindow(PChar('TXRenFrm'),NIL),WM_CLOSE,0,0);
Das funktioniert aber nur wenn die Anwendung nicht beschäftigt ist. Ist sie mitten in der Verarbeitung, startet eine zweite Instanz OBWOHL schon eine geöffnet ist, die vorher hätte geschlossen werden müssen.

Woran liegt das jetzt??

Christian Seehase 1. Jul 2004 15:39

Re: Programm schließen per SendMessage
 
Moin cyberrowdy72,

Du müsstest wohl, in dem Bereich, in dem die vorherige Instanz beschäftigt ist eine Abbruchbedingung abzufragen. Der Wert hierfür kann dann in der WndProc, oder einer entsprechenden einzelnen Ereignisroutine, der Wert gesetzt werden, wenn WM_CLOSE empfangen wird. Voraussetzung ist natürlich, dass die Messages auch abgefragt werden.

Wäre es nicht einfacher, beim Start einer Instanz zu prüfen, ob schon eine läuft, und dann die zusätzlich gestartete zu beenden (Hier im Forum suchenCreateMutex, Hier im Forum suchenCreateSemaphore)?

CReber 1. Jul 2004 15:43

Re: Programm schließen per SendMessage
 
SwissDelphiHelpCenter

Da gibs was feines zu dem Thema

cyberrowdy72 2. Jul 2004 06:36

Re: Programm schließen per SendMessage
 
OK werd mir das mal reinziehen. Wahrscheinlich ist es doch besser dem geöffneten Programm die neuen Parameter zu übergeben und das neue zu schließen.
Dank euch jedenfalls.
MfG, cr72


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