View Full Version : [C#] Chiusura Applicazione
Salve,
io ho un applicazione a finestra che viene istanziata così:
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainWindows(device));
e quindi apre MainWindows; volendo chiudere l'applicazione chiudo tutte le mie belle cosine e come ultima cosa nella classe MainWindows dò il comando Close() e tutto si chiude.
Il problema è che se vado nel taskmanager vedo che il mio programmino è ancora in esecuzione e devo chiuderlo a mano... dove sbaglio?
Grazie
NapalM
Oceans11
15-09-2008, 14:55
prova ad aggiungere come ultima istruzione:
Application.Exit();
e poi fammi sapere che anch'io sono un newbie con c# :)
prova ad aggiungere come ultima istruzione:
Application.Exit();
e poi fammi sapere che anch'io sono un newbie con c# :)
Ciao,
avevo provato a mettere la linea di codice che hai postato dopo Application.Run ma niente, risulta ancora essere in esecuzione.
Non riesco a capire come chiuderla :(
NapalM
Oceans11
15-09-2008, 15:17
Ah allora non avevo afferato....ho letto che per ultimo davi il close alla finestra, non l'exit all'applicazione
Ah allora non avevo afferato....ho letto che per ultimo davi il close alla finestra, non l'exit all'applicazione
sì sì, prima era così poi leggendo in giro ho inserito Application.Exit ma niente.
Nel mainWindows vengono creati due thread che cmq vengono chiusi con il comando Abort();
Boh...
NapalM
Oceans11
15-09-2008, 15:26
mmm....e Environment.Exit(0); funziona???
mmm....e Environment.Exit(0); funziona???
Questo sì, grazie :D
NapalM
Da auto-didatta in c#, credo che aprendo più finestre tu abbia avviato anche diversi thread, che ovviamente non sono stati chiusi tutti e perciò dovevi chiudere a mano l'applicazione.
E' capitato anche a me con il riconoscimento vocale, in cui devi aprire il thread del riconoscimento e quello della sintesi vocale...
Spero di non aver detto castronerie :stordita:
Fenomeno85
15-09-2008, 17:06
Da auto-didatta in c#, credo che aprendo più finestre tu abbia avviato anche diversi thread, che ovviamente non sono stati chiusi tutti e perciò dovevi chiudere a mano l'applicazione.
E' capitato anche a me con il riconoscimento vocale, in cui devi aprire il thread del riconoscimento e quello della sintesi vocale...
Spero di non aver detto castronerie :stordita:
da quello che ho visto sia usando le mdi e le form una volta che killi la madre uccidi tutti i figli.
~§~ Sempre E Solo Lei ~§~
da quello che ho visto sia usando le mdi e le form una volta che killi la madre uccidi tutti i figli.
A me invece è successo lo stesso problema soprattutto con XNA e con i thread creati a mano:siccome chiamare direttamente Exit() non funziona devi crearti una funzione che controlli lo stato di tutti i thread, li chiuda, stoppare la musica e qualsiasi altro servizio aperto e poi chiamare Exit(), che libera la memoria da oggetti grafici e via discorrendo... :O
Fenomeno85
15-09-2008, 19:11
A me invece è successo lo stesso problema soprattutto con XNA e con i thread creati a mano:siccome chiamare direttamente Exit() non funziona devi crearti una funzione che controlli lo stato di tutti i thread, li chiuda, stoppare la musica e qualsiasi altro servizio aperto e poi chiamare Exit(), che libera la memoria da oggetti grafici e via discorrendo... :O
capito cosa intendi .. credevo che ammazzasse già tutto lui dato che erano figli. Questo allora succede solo sui thread che lanci dopo.
~§~ Sempre E Solo Lei ~§~
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.