![]() |
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:
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.
Sendmessage(Findwindow(PChar('TXRenFrm'),NIL),WM_CLOSE,0,0);
Woran liegt das jetzt?? |
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 ( ![]() ![]() |
Re: Programm schließen per SendMessage
|
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 17:29 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 by Thomas Breitkreuz