![]() |
wie wird ein programm beendet
hab so eine ähnliche frage schon für kylix/linux gestellt aber bis jetzt noch keine antwort erhalten..
im prinzip (rein delphi technisch) müsste ich aber im windows bei einer consolenanwendung die gleichen fragen haben: -> was passiert wenn ich eine consolenanwendung BEENDE ? -> kann man sie überhaupt von aussen beenden ? oder wird die dadurch immer GEKILLT ? -> welcher code wird noch abgearbeitet bzw ausgelassen wenn ich -> BEENDE ? -> KILLE ? -> gibt es möglichkeiten ( ausser OnClose usw ) dies zu steuern ? -> weil in consolenanwendungen hab ich nicht von haus aus diese events hoffe mir kann jemand genau erklären wie und was da vor sich geht, weil ich aufs beenden reagieren muss bzw es vernachlässigen kann ? es geht halt um DBs die nicht fragmentiert werden dürfen -> kontrolliertes beenden einer consolenapplikation wünschenswert |
Re: wie wird ein programm beendet
also nach längerer suche und informationen im bereich linux hab ich das auf windows übertragen können
und nachdem ich rausgefunden hab, das ich messages abfangen muss, und dies nur mit fenstern machen kann da nur die eine messageloop haben können, und ich aber eine consolenapplication (z.B.) habe, muss ich dort wohl einen thread mit einem unsichtbaren fenster mit der winAPI erstellen das dann die messages auffängt und damit dann global die "runterfahr" procedur für das proggi aktiviert wird ich hoffe das tut so ;) messageloop-thread -> flag fürs beenden setzen(mit critical sections) beim beenden der applikation | | |-> indy client thread (loop mit flagüberprüfung + critical section) -> indy client thread (loop mit flagüberprüfung + critical section) somit müssten sich die clients dann automatisch closen und die datenbank schliessen dazu wird der messageloop thread wohl noch einen anderen starten der dann nach einer gewissen zeit alle threads forciert terminiert damit keiner hängen bleiben kann ;) -> ende folgende threads sind unter anderem ziemlich hilfreich: im 2. ist auch was mit console dabei fürs empfangen der close messages innerhalb der console usw -> mal anschauen ![]() ![]() |
Re: wie wird ein programm beendet
Falls es dich noch interessiert.
![]() |
Re: wie wird ein programm beendet
sehr schön :) an die codelib hab ich jetzt auch nich gedacht..
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:55 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