Salir de un programa (Urgente!)

23/06/2005 - 17:02 por Intrepid | Informe spam
Soy nuevo en estas lides del C#, así que les pido no me insulten si lo que
voy a preguntar es una tontera...
Estoy creando una aplicación que recibe parámetros y necesito que si no se
le es pasado ningúno, avise de esto y cancele la ejecución de la aplicación.
Este es mi código:

static void Main(string[] args)
{
if (args.Length == 0)
{
MessageBox.Show("No se han pasado parámetros",
"ZPkZip",MessageBoxButtons.OK,MessageBoxIcon.Stop);
Application.Exit();
}

Application.EnableVisualStyles();
Application.Run(new frmStat());
}

Pero no sale. Evidentemente el método Exit de Application, no hace lo que yo
necesito.
¿Cuál sería la sentencia correcta para detener la ejecución del y salir del
mismo?

DESDE YA, MUCHAS GRACIAS!

Preguntas similare

Leer las respuestas

#1 yego
23/06/2005 - 17:15 | Informe spam
Hola, no creo que nadie te insulte por preguntar 'tonterias' porque yo
pregunto habitualmente y no me han insultado nunca (pero no se si lo
pensarán :))
Creo que solucionarias tu problema incluyendo un: return; después de
Application.Exit().

Saludos.

"Intrepid" escribió en el mensaje
news:
Soy nuevo en estas lides del C#, así que les pido no me insulten si lo que
voy a preguntar es una tontera...
Estoy creando una aplicación que recibe parámetros y necesito que si no se
le es pasado ningúno, avise de esto y cancele la ejecución de la


aplicación.
Este es mi código:

static void Main(string[] args)
{
if (args.Length == 0)
{
MessageBox.Show("No se han pasado parámetros",
"ZPkZip",MessageBoxButtons.OK,MessageBoxIcon.Stop);
Application.Exit();
}

Application.EnableVisualStyles();
Application.Run(new frmStat());
}

Pero no sale. Evidentemente el método Exit de Application, no hace lo que


yo
necesito.
¿Cuál sería la sentencia correcta para detener la ejecución del y salir


del
mismo?

DESDE YA, MUCHAS GRACIAS!


Respuesta Responder a este mensaje
#2 Ivanhoe
23/06/2005 - 17:20 | Informe spam
en realidad basta con poner el return nada mas...

if (args.Length == 0)
{
return;
}


"yego" wrote in message
news:%
Hola, no creo que nadie te insulte por preguntar 'tonterias' porque yo
pregunto habitualmente y no me han insultado nunca (pero no se si lo
pensarán :))
Creo que solucionarias tu problema incluyendo un: return; después de
Application.Exit().

Saludos.

"Intrepid" escribió en el mensaje
news:
> Soy nuevo en estas lides del C#, así que les pido no me insulten si lo


que
> voy a preguntar es una tontera...
> Estoy creando una aplicación que recibe parámetros y necesito que si no


se
> le es pasado ningúno, avise de esto y cancele la ejecución de la
aplicación.
> Este es mi código:
>
> static void Main(string[] args)
> {
> if (args.Length == 0)
> {
> MessageBox.Show("No se han pasado parámetros",
> "ZPkZip",MessageBoxButtons.OK,MessageBoxIcon.Stop);
> Application.Exit();
> }
>
> Application.EnableVisualStyles();
> Application.Run(new frmStat());
> }
>
> Pero no sale. Evidentemente el método Exit de Application, no hace lo


que
yo
> necesito.
> ¿Cuál sería la sentencia correcta para detener la ejecución del y salir
del
> mismo?
>
> DESDE YA, MUCHAS GRACIAS!
>
>


Respuesta Responder a este mensaje
#3 jescrich
23/06/2005 - 17:22 | Informe spam
static void Main(string[] args)
{
if (args.Length ==0)
{
Console.WriteLine("nada");
Console.ReadLine();
}
else
{
Application.Run(new frmPingTestSync());
}
}
ó sino utiliza
Thread.CurrentThread.Abort(); que abortara la ejecución del hilo
actual e incluso podras tomar acciones si fuese necesario.
Ocurre que en el Application.Exit() no provoca los eventos close de los
forms, para esto debes llamar a todos los close de los forms antes de
poder salir de la aplicación.

José Escrich

Respuesta Responder a este mensaje
#4 Intrepid
23/06/2005 - 17:29 | Informe spam
Gracias por pensar que no soy merecedor de insultos explícitos =P
Ya veremos con los mentales, jejejeje
Lamentablemente no puedo poner un return en Main dado que la misma no tiene
retorno, pero gracias igualmente

"yego" escribió en el mensaje
news:%
Hola, no creo que nadie te insulte por preguntar 'tonterias' porque yo
pregunto habitualmente y no me han insultado nunca (pero no se si lo
pensarán :))
Creo que solucionarias tu problema incluyendo un: return; después de
Application.Exit().

Saludos.
Respuesta Responder a este mensaje
#5 Intrepid
23/06/2005 - 17:34 | Informe spam
Lo del IF {} ELSE...
No me será muy útil dado que esto sólo fue un ejemplo de las primeras
verificaciones sobre los parámetros pasados al programa.
Voy a probar abortando el Thread.
Muchas gracias!!!

"jescrich" escribió en el mensaje
news:

static void Main(string[] args)
{
if (args.Length ==0)
{
Console.WriteLine("nada");
Console.ReadLine();
}
else
{
Application.Run(new frmPingTestSync());
}
}
ó sino utiliza
Thread.CurrentThread.Abort(); que abortara la ejecución del hilo
actual e incluso podras tomar acciones si fuese necesario.
Ocurre que en el Application.Exit() no provoca los eventos close de los
forms, para esto debes llamar a todos los close de los forms antes de
poder salir de la aplicación.

José Escrich

Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida