[Python-es] Proceso abierto tras cierre de aplicación
kausdiv
kausdiv en gmail.com
Mie Feb 26 18:00:18 CET 2014
Gracias por las respuestas.
Chema, está pasado a exe con py2exe, normalmente se ejecuta desde el exe
resultante.
Lo descubrí porque hice un instalador con inno setup, y cuando le pasé
una nueva versión a un amigo que lo necesitaba, no dejaba actualizar
porque decía que estaba en ejecución.
Carlos, miraré lo que dices.
Debo apuntar, que tradicionalmente el proceso de salir lo hacía desde un
botón. Pero esta vez es el evento onClose del formulario principal, de
manera que se cierre con la "X".
Desde un evento de botón, self.Close() va bien, pero desde el evento
OnClose del form, se llama una y otra vez, por tanto no sale, pero con
Destroy esto no pasa (evidentemente).
Podría hacer algo en el procedimiento para que se invoque con Close()
pero no se me ocurre.
El 26/02/2014 13:33, Chema Cortes escribió:
> El día 26 de febrero de 2014, 13:03, Kaus Div <kausdiv en gmail.com> escribió:
>> Hola de nuevo.
>>
>> Veréis, tengo una pequeña aplicación usando wxPython que tras cerrarla
>> siempre se crea como un proceso abierto. Si la abro varias veces, resulta
>> que en la lista de procesos puede estar 3 ó 4 veces.
>>
>> El procedimiento que uso es este:
>>
>> --------------
>> def onClose( self, event ):
>> """Cierre de la aplicacion"""
>> dlg = wx.MessageDialog(self,
>> "Cerrar Realmente ?",
>> "Confirmacion de salida", wx.OK|wx.CANCEL|wx.ICON_QUESTION)
>> result = dlg.ShowModal()
>> dlg.Destroy()
>> if result == wx.ID_OK:
>> self.Destroy()
>> #self.Close(True)
>> -----------------
>>
>> Como veis la ultima linea Close está comentada. Cuando esta activa, la
>> pregunta se lanza una y otra vez hasta que pulso cancelar en el diálogo,
>> (normal porque se invoca continuamente onClose).
> Tiene pinta de que hay algún hilo que no se cierra. Hasta que no
> cierren todos los hilos, la ventana no se destruye del todo.
>
> ¿Estás ejecutando este código desde algún IDE (pe: idle)? ¿Has probado
> desde la línea de comandos?
>
>
>
>
Más información sobre la lista de distribución Python-es