C sharp - Ventanas en threads

 
Vista:

Ventanas en threads

Publicado por Oscar Arias (25 intervenciones) el 05/01/2005 13:36:21
Hola, tengo una aplicacion que procesa un lote de datos dentro de un bucle de control. Cada proceso es bastante largo y el lote puede contener una cantidad grande de datos. Obviamente, una vez que inicia el procesamiento pierdo el control de la aplicacion. Mi necesidad es, por lo tanto brindar a la aplicacion la posibilidad de cancelar la ejecucion de la misma. Pero como el thread principal queda loopeando, decidi probar lanzando una ventana nueva con un simple boton que setee una variable que el otro proceso testee. El problema es que la ventana no se dispara. Creo un thread asigno el metodo que crea la ventana y teoricamente la abre. Pero no pasa nada.
Que me sugieren? Podria hacer este proceso de otra forma?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Ventanas en threads

Publicado por Yamil Bracho (1164 intervenciones) el 05/01/2005 14:14:07
Mas bien, dispara una tarea para el proceso dentro del loop y coloca una variable del formulario que te indique si debes cancelar el proceso. En el boton cancelñar coloca esta variable en true y la chequeas en el ciclo. Seria algo como

while (salir == false ) {
// Disparar tarea
}

En el evento Click del boton Cancelar haces

salir = true;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventanas en threads

Publicado por Oscar Arias (25 intervenciones) el 05/01/2005 14:29:35
El problema es que el proceso principal - batch - interactua con la pantalla presentando resultados parciales y otra info a medida que la va procesando. Probe lanzarlo dentro e un thread y me pasaba que dependiendo de la maquina andaba o no. Esto habia sido motivo de una pregunta previa hace varios meses cuyas respuestas no pudieron adaptarse a mi problema.
gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 158
Bronce
Ha disminuido 1 puesto en C sharp (en relación al último mes)
Gráfica de C sharp

RE:Ventanas en threads

Publicado por Yamil Bracho (1164 intervenciones) el 05/01/2005 19:47:14
Cuando dices pantalla te refieres a una ventana, no ?
Si te daba error en unas maquinas y otras no, cual era el error ? Instalaste la misma version del .NET Framework ? Tienes la misma memoria en todos los equipos donde probaste ?
Publica algo del codigo para ver que tal...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ventanas en threads

Publicado por Oscar Arias (25 intervenciones) el 05/01/2005 20:20:59
Si un form. El problema era que en algunas maquinas el thread parecia "perderse" y nunca mas volvia ni daba señales de vida. Las versiones son iguales en las maquinas mas no el resultado. Memoria sobra. De todas formas es algo que se me escapa del uso de los threads cuando cada thread debe acceder a un control de una ventana/form o abrir un form
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar