Re: StartInfo no trabaja
Rafael Rueda <[email protected]>
| Newsgroups | gmane.comp.gnome.mono.hispano |
|---|---|
| Message-ID | <1248212061.7358.7.camel@localhost> |
Hice algunos cambios:
if (Environment.OSVersion.Platform == PlatformID.Unix) {
p.StartInfo.FileName = "/syanet/net/printreport.exe ";
p.StartInfo.Arguments = @"-preview ConOces.rep";
p.Start();
}
if (Environment.OSVersion.Platform == PlatformID.Win32NT) {
try {
p.StartInfo.FileName = @"\syanet\net\printreport.exe ";
p.StartInfo.Arguments = @"-preview ConOces.rep";
p.Start();
}
catch (Exception e) {
Console.WriteLine("valor excepción {0}",e);
}
}
p.WaitForExit();
Sin embargo en Windows sigue con el problema:
"Printreport.exe ha detectado un problema y debe cerrarse."
No se genera ningún Exception.
Serías tan amable de darme un ejemplo al 4 punto que tu planteas. "Si
estás invocando un programa managed, ¿por qué no lo invocas como una
biblioteca?"
Rafael Rueda
El lun, 20-07-2009 a las 00:10 -0400, Juan C. Olivares escribió:
> Rafael:
>
>
> 1.- La forma para definir en cuál sistema operativo estás es
> utilizando Environment.OSVersion.Platform
> 2.- ¿Qué significa exactamente "el sistema ya estaría bajo la opción
> mono"?
> 3.- ¿Tienes algún tipo de log dentro de printreport? ¿se ejecuta el
> programa? ¿atrapas alguna exception dentro de printreport?
> 4.- Si estás invocando un programa managed, ¿por qué no lo invocas
> como una biblioteca?
> 5.- ¿Intentaste hacer debug?
>
> 2009/7/19 Rafael Rueda <[email protected]>
> Es necesario que clarifique lo siguiente:
>
> Process p = new Process();
> try
>
> //Esta parte es cuando la acción se ejecuta con sistema
> operativo Linux
> y por tanto sigue esta ruta
> {
> p.StartInfo.FileName =
> "/syanet/net/printreport.exe ";
> p.StartInfo.Arguments = @"-preview
> ConOces.rep";
>
> p.Start();
> }
> catch
> {
> // Esta Excepción se daría cuando el sistema operativo
> no es Linux y
> por tanto debería escoger la ruta para Windows que es la que
> sigue a
> continuación
> p.StartInfo.FileName = @"\syanet\net
> \printreport.exe ";
> p.StartInfo.Arguments = @"-preview
> ConOces.rep";
>
> p.Start();
> }
> p.WaitForExit();
>
> Ahora el catch puede tomar cualquiera de estas dos formas:
> -catch ó
> -catch (Exception)
> y ninguna se ellas afectaría el resultado.
>
> Lo raro es el mensaje:
>
> "Printreport.exe ha detectado un problema y debe cerrarse." Y
> esto se dá
> porque es un programa en C# o sea según ese mensaje esperaría
> que se
> antepusiera la opción
> "mpno \syanet\net\printreport.exe -preview ConOces.rep" pero
> esto no lo
> permite por cuanto el sistema ya esta bajo la opción "mono" y
> generaría
> conflictos mayores porque internamente lo dejaría asi:
> "mono mono \syanet\net\printreport.exe -preview ConOces.rep"
>
> Te repito, esto venía trabajando en versiones anteriores y
> esto es lo
> que me tiene totalmente desubicado. No le he cambiado nada a
> las
> instrucciones.
>
> Rafael Rueda
>
> El dom, 19-07-2009 a las 22:01 -0400, Juan C. Olivares
> escribió:
>
> > Por favor, intenta reportar mejor los supuestos errores.
> ¿Cuál es la
> > exception? ¿por qué no la estás controlando?.
> >
> >
> > Mi impresión es que no estás decidiendo el working directory
> y no
> > encuentra el archivo "ConOces.rep", pero es imposible saber
> con tan
> > poca información.
> >
> > 2009/7/19 Rafael Rueda <[email protected]>
> > Trabajo con versión monodevelop 2.0, mono 2.4.2.2 en
> Linux y
> > Windows,
> > Windows con Framework 3.5 aunque debería trabajar
> con
> > Framework 2.0.
> > También lo hago con System.Windows.Forms o con Gtk.
> >
> > Si lo hago fuera de la aplicación que estoy
> ejecutando con la
> > siguiente
> > instrucción lo realiza correctamente:
> > mono \syanet\net\printreport.exe -preview
> ConOces.rep
> >
> > Si trabajaba correctamente en forma directa ¿porque
> no lo hace
> > en la
> > aplicación principal?. ¿Que tengo mal en las
> instrucciones que
> > escribí?
> >
> > Nota: Soy consciente que la siguiente instrucción
> sobra:
> > p.StartInfo.WindowStyle = ProcessWindowStyle.Normal;
> >
> >
> > Rafael Rueda
> >
> > El sáb, 18-07-2009 a las 06:34 +0000,
> [email protected]
> > escribió:
> > > Hola amigo, a que te refieres con las ultimas
> versiones no
> > funciona en
> > > Win ? si te refieres que te corria en versiones
> del
> > > framework antiguas, la solucion mas facil es
> compilar el
> > soft para
> > > ellas, a no ser que uses algo novedoso creo que lo
> mas
> > > recomendable. Lo otro, la propiedad WindowStyle
> por defecto
> > viene en
> > > Normal, no hace falta especificarlo, a menos que
> lo
> > > cambies en el codigo que precede al fragmento, por
> supuesto.
> >
> > >
> > > On Jul 18, 2009 12:58am, Rafael Rueda
> <[email protected]>
> > wrote:
> > > > Hola amigos necesito su ayuda:
> > > >
> > > >
> > > >
> > > > Genero con monodevelop un reporte realizado con
> reportman.
> > El
> > > sistema
> > > >
> > > > debe trabajar en Linux y Windows. Venía
> trabajando bién en
> > Linux y
> > > >
> > > > Windows pero con las ultimas versiones de C# ya
> no trabaja
> > en
> > > Windows.
> > > >
> > > > Alguién podría darme una mano?.
> > > >
> > > >
> > > >
> > > > Este es el código sobre un archivo de reporte ya
> generado:
> > > "ConOces.rep.
> > > >
> > > >
> > > >
> > > > using System.Diagnostics;
> > > >
> > > > ...
> > > >
> > > >
> > > >
> > > > Process p = new Process();
> > > >
> > > > try
> > > >
> > > > {
> > > >
> > > > //Para Linux trabaja perfecto
> > > >
> > > > p.StartInfo.FileName =
> > "/syanet/net/printreport.exe
> > > ";
> > > >
> > > > p.StartInfo.Arguments =
> @"-preview
> > ConOces.rep";
> > > >
> > > > p.StartInfo.WindowStyle =
> > ProcessWindowStyle.Normal;
> > > >
> > > > p.Start();
> > > >
> > > > }
> > > >
> > > > catch
> > > >
> > > > {
> > > >
> > > > //para Windows: Printreport.exe
> ha
> > detectado un
> > > problema y debe
> > > >
> > > > cerrarse.
> > > >
> > > > p.StartInfo.FileName = @"\syanet
> \net
> > \printreport.exe
> > > ";
> > > >
> > > > p.StartInfo.Arguments =
> @"-preview
> > ConOces.rep";
> > > >
> > > > p.StartInfo.WindowStyle =
> > ProcessWindowStyle.Normal;
> > > >
> > > > p.Start();
> > > >
> > > > }
> > > >
> > > > p.WaitForExit();
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > >
> > > > Mono-hispano mailing list
> > > >
> > > > [email protected]
> > > >
> > > >
> https://listas.hispalinux.es/mailman/listinfo/mono-hispano
> > > >
> > > >
> >
> > _______________________________________________
> > Mono-hispano mailing list
> > [email protected]
> >
> https://listas.hispalinux.es/mailman/listinfo/mono-hispano
> >
> >
> >
> >
> > --
> > Atte,
> > Juan Cristóbal Olivares
< <חואנכרי
> >
> > ==============
> >
> > Renovarse o morir: Mi PC de los sesenta tenía veinte mil
> militantes. Y
> > mi PC del siglo XXI tiene cuarenta gigabytes.
> >
>
>
>
>
>
> --
> Atte,
> Juan Cristóbal Olivares
<חואנכרי
>
> ==============
>
> Renovarse o morir: Mi PC de los sesenta tenía veinte mil militantes. Y
> mi PC del siglo XXI tiene cuarenta gigabytes.
>
_______________________________________________
Mono-hispano mailing list
[email protected]
https://listas.hispalinux.es/mailman/listinfo/mono-hispano