Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: C#: Miten saan sovelmassa kiinni, jos ohjelma keskeytetään tehtävienhallinnasta?

Anne [26.08.2013 09:13:12]

#

Tavoitteena siinä tilanteessa, kun sovelma heitetään ulos väkisin tehtävien hallinnan kautta, on saadaan tehtyä silti tietyt asiat, kuten vapautettua lukot. Miten se olisi hyvä toteuttaa? Formien FormClosing, jota käytämme muuten, ei tunnu noteeraavan tilannetta.
Nämä väkisin alasajot tullee pääsääntöisesti tilanteissa, joissa sovelma jää jumiin sen käyttämien palvelujen kohdalla (asiakkaan mukaan esim. käytetty verkkokirjoitin ei olekaan verkossa tai sovelmaan integroitu toinen ohjelma on poissa pelistä).

Toinen, miten olen yrittänyt ajatella ratkaisua, mutten ole päässyt siinä pidemmälle, olisi, jos käsittelemättömät virhetilanteet saataisiin edes application-tasolla kiinni ja siinä tilanteessa tehtäisiin pakolliset jutut ja käynnistettäisiin sovelma uudelleen. Onko tästä ajatuksia?

groovyb [26.08.2013 09:52:55]

#

eventit eivät triggaa, koska ohjelmasi on juuri suljettu.
konsoliproggiksessa triggaa CTRL_CLOSE_EVENT, windows puolella WM_CLOSE.

voithan tehdä vaikka wrapperin softallesi, eli käynnistät ohjelmasi processina, jolloin näät Process.Exited:stä onko ohjelma pakkosuljettu.

jalski [26.08.2013 11:54:25]

#

groovyb kirjoitti:

konsoliproggiksessa triggaa CTRL_CLOSE_EVENT, windows puolella WM_CLOSE.

Windows puolella tuo viesti taitaa tehtävien hallinnan kautta suljettaessa olla WM_DESTROY.

groovyb [26.08.2013 13:34:55]

#

Eikös se riipu siitä suljetaanko tehtävienhallinnan kautta taustaprosessi vai applikaatio (WM_DESTROY ja WM_CLOSE)?

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta