elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


  Mostrar Mensajes
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 41
191  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 19 Junio 2014, 05:41 am
Ok, intenta llamar a la función dentro del mismo hilo para que la aplicación te bote el error y "a la fuerza" se detenga la ejecución. De esta manera podrás ver por qué la segunda vez que se ejecuta "Results = SR.ReadToEnd" No te funciona.

Estoy viendo otra cosa: No veo en ninguna parte del código que declares la variable Results. Puedes por favor poner cómo la declaras, creo que el error puede estar ahí.
192  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 19 Junio 2014, 00:11 am
Eso significa que se produce el error en esa línea. Me imagino que la función es creada en un hilo independiente del hilo principal, por eso es que no te salta error sólo sale del bucle y de la función... Y YA!

Para comprobar qué tipo de error es coloca el for dentro del tray/catch y coloca el punto de interrupción en la línea correspondiente al cath (como te indiqué en el código anterior) en la variable "e" estará la información correspondiente al error. Dinos cuál es para ver cómo se puede solucionar.
193  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 23:12 pm
Modifica el código como sigue:

Código
  1. Try
  2.      For Each archivo As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
  3.            nombre = My.Computer.FileSystem.GetName(archivo)
  4.            cmdir = "cd " & midirectorio
  5.            comando = "runpkr00.exe -d " & nombre
  6.  
  7.            SW.WriteLine(cmdir)
  8.            SW.WriteLine(comando)
  9.            Results = SR.ReadToEnd
  10.            Invoke(Finished)
  11.        Catch e As Exception
  12.        End Try
  13.        Next
  14.        SW.Close()
  15.        SR.Close()
  16.    End Sub

Coloca un punto de interrupción en la línea del catch y fíjate en el error que arroja. Si no arroja ningún error no te queda de otra que colocar el punto de interrupción en la primera línea del bucle e ir ejecutando línea por línea para ver el error.
194  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 20:25 pm
Estás seguro de que no se ejecuta "runpkr00.exe -d " & nombre por cada archivo? O sólo no te muestra la información en la pantalla?

Para qué es la línea "Invoke(Finished)"?

Has colocado puntos de interrupción en el bucle para comprobar que realmente hace cada iteración que debería?

Si la respuesta a la pregunta anterior es "sí", ¿se ejecuta cada iteración sin problemas o da algún error?
195  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 18 Junio 2014, 06:26 am
No estoy seguro pero creo que tu problema puede estar en:

Código
  1. Invoke(Finished)

Si lo que quieres es que el método se invoke con cada archivo entonces está bien. Pero si lo que quieres es que se invoque al final de todo el procedimiento entonces deberías ponerlo después del "next".

Tampoco creo que haya necesidad de cerrar los streams en cada iteración por lo tanto también deberías provar dejando el código como sigue:

Código
  1. Dim SR As System.IO.StreamReader = myprocess.StandardOutput
  2. Dim SW As System.IO.StreamWriter = myprocess.StandardInput
  3. Dim comando As String
  4. Dim cmdir As String
  5. Dim nombre As String
  6.        For Each archivo As String In My.Computer.FileSystem.GetFiles(midirectorio, FileIO.SearchOption.SearchAllSubDirectories, "*.t01")
  7.            nombre = My.Computer.FileSystem.GetName(archivo)
  8.            cmdir = "cd " & midirectorio
  9.            comando = "runpkr00.exe -d " & nombre
  10.  
  11.            SW.WriteLine(cmdir)
  12.            SW.WriteLine(comando)
  13.            Results = SR.ReadToEnd
  14.            Invoke(Finished)
  15.        Next
  16.        SW.Close()
  17.        SR.Close()
  18.    End Sub

Para dejar más limpio el bucle.
196  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 13 Junio 2014, 21:32 pm
Lex, no conocía la existencia de los métodos para redirigir la salida y la entrada de las aplicaciones.

Rochro, el método que menciona Lex te permite enviar los comandos uno a uno sin necesidad de abrir múltiples ventanas. Esta sería una opción mejor.
197  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 13 Junio 2014, 07:22 am
Mmmmmm, no sé en qué esté fallando, pero lo más seguro es que sea en la forma en que se construye la cadena.

Intenta poniendo un punto de interrupción y copia toda la cadena como debería salir al final. Luego escribe esa cadena en una consola de comandos y ve si también te da error. si es así entonces no es problema de programación sino de la construcción de la cadena.
198  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 12 Junio 2014, 19:43 pm
Ah, ok, ya te entendí.  :P

Para eso debes poner:

Código
  1. Shell("cmd.exe /k" + cmdir + " & " + comando)

El símbolo "&" hasta donde yo sé, se utiliza para separar comandos en la consola de windows. Dinos si te funciona.
199  Programación / .NET (C#, VB.NET, ASP) / Re: COMANDOS MULTIPLES - VB en: 12 Junio 2014, 19:02 pm
Los nombres de los archivos que te devuelve las función que los lista te da la ruta completa del archivo, no solamente el nombre. Puede ser que tu error está ahí. Para resolverlo elimina el directorio raíz del nombre del archivo.
200  Programación / Programación C/C++ / Re: Párametros de funciones en: 10 Junio 2014, 15:26 pm
¿Parámetros de uso? ¿Te refieres a los parámetros que se pasan a cada función que trabaja con cadenas?
Páginas: 1 ... 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 [20] 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 ... 41
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines