Título: solucionado - Salida de consola en modo ventana? Publicado por: WHK en 30 Octubre 2010, 04:12 am Hola, estaba intentando crear una aplicación gráfica con formularios en vb.net pero a la ves quería ir imprimiendo los status o errores atraves de la consola que lo llama.
Me explico... La idea es que si le hago doble click no se verá consola, solo la ventana y ya, pero si lo abro desde la consola quería que me mostrara algunos estados, se podrá? sería como una convinación entre una aplicación windows form y consola, pero no quiero haerla consola 100% porque hay casos en que debo mostrar la ventana sin que se vea una consola Título: Re: Salida de consola en modo ventana? Publicado por: [D4N93R] en 30 Octubre 2010, 05:15 am Mostrar ventana sin que se vea consola no se si se pueda, pero, al revés sí. Es decir, desde la consola puedes levantar formularios, algo así al estilo Blender 3D, qué inicia una consola y luego el programa y cuando hay un error sale es en la consola.
No estoy muy seguro, pero creo que si haces Console.WriteLine en una aplicación Windows no sale nada. Son las 11 y algo de la noche y me da pereza abrir VS. Mañana tempranito lo pruebo e intento varias cosas a ver si conseguimos algo interesante. Un saludo. Título: Re: Salida de consola en modo ventana? Publicado por: WHK en 30 Octubre 2010, 05:59 am ya lo solucioné, gracias.
http://www.eggheadcafe.com/software/aspnet/31622966/command-line-interface-and-windows-form-in-same-program.aspx Citar http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=983493&SiteID=1 has a solution to the problem (incorporated in the code below) which works for Visual Studio 2005 (Visual Basic 2005 Express, Framework 2.0), but not for Visual Studio .NET 2003 (VB 2003 .NET, Framework 1.1). Here's how to reproduce the problem using either Visual Basic .NET 2003 or Visual Basic 2005: Start a new Windows Application project - WindowsApplication1. This gives Form1.vb. Add a Module to the project - Module1.vb Replace the empty Module1 code with the following code: Imports System.Environment Module Module1 Declare Function AttachConsole Lib "kernel32" (ByVal dwProcessId As Int32) As Boolean Declare Function FreeConsole Lib "kernel32.dll" () As Boolean Sub Main() Dim args As String() = GetCommandLineArgs() If args.Length = 1 Then 'No arguments so show windows form Dim frmMain As New Form1 Application.Run(frmMain) Else AttachConsole(-1) Console.WriteLine("Arguments supplied") FreeConsole() End If End Sub End Module For VB 2003, in Project - Properties, leave Output type as Windows Application and change Startup object to Sub Main. For VB 2005, in Project - Properties, untick Enable application framework, leave Output type as Windows Application and change Startup object to Sub Main. Build the project, then open a command prompt and run WindowsApplication1.exe from it as follows: 1. With no arguments. The form is displayed and the command prompt returns immediately, allowing other commands to be entered. Required behaviour. 2. With any number of arguments. The 'Arguments supplied' is displayed for the VB 2005 application, but not for VB 2003. 3. Run it from Windows Explorer. The form is displayed and a separate console window is not opened. Required behaviour. So case 2 isn't working as required for VB 2003. The AttachConsole and FreeConsole functions described in the link above make case 2 work for VB 2005. For the VB 2003 application, it fixes case 2 for a Debug build, but has no effect for a Release build, which is exactly the same findings as http://groups.google.co.uk/group/microsoft.public.dotnet.languages.vb/msg/2d1643af7419e141 I'm interested in why it doesn't work for the VB 2003 Release build, and any ideas for alternative fixes. cheers, Lo que hize fue crear la nueva clase, ir a las propiedades del proyecto y decirle que inicie por el sub main y funciona de lujo :D Ahora cuando le hago doble click se ven las ventanas solamente pero cuando lo abro desde la consola me aparece el debug en colores jajaja mas las ventanas también. Código
Ahora puedo escribir console.writeline() desde los forms xD |