CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Generar Codigo En Tiempo De Ejecucion
(1/1)
CESARAR84:
Espero su ayuda porfavor.
Yo he podido utilizar el CodeDom para hacer un program en consola que genera un exe.
Sin embargo, son solo pantallas negras (cosnola logicamnt).
Mi Pregunta es si alguien me podria guiar en la forma de crear una aplicacion windows utilizando el codeDom, o talves habra otra forma ?
yo coloco este codigo:
---------------------------------------------------------
Dim codeProvider As New VBCodeProvider
Dim icc As ICodeCompiler = codeProvider.CreateCompiler
Dim Output As String = "Out.exe"
Dim ButtonObject As Button = CType(sender, Button)
textBox2.Text = ""
Dim parameters As New CompilerParameters
Dim results As CompilerResults 'Make sure we generate an EXE, not a DLL
parameters.GenerateExecutable = True
parameters.OutputAssembly = Output
results = icc.CompileAssemblyFromSource(parameters, textBox1.Text)
If results.Errors.Count > 0 Then 'There were compiler errors
textBox2.ForeColor = Color.Red
Dim CompErr As CompilerError
For Each CompErr In results.Errors
textBox2.Text = textBox2.Text & _
"Line number " & CompErr.Line & _
", Error Number: " & CompErr.ErrorNumber & _
", '" & CompErr.ErrorText & ";" & _
Environment.NewLine & Environment.NewLine
Next
Else 'Successful Compile
textBox2.ForeColor = Color.Blue
textBox2.Text = "Success!" 'If we clicked run then launch the EXE
If ButtonObject.Text = "Run" Then
Process.Start(Output)
End If
End If
End Sub
------------------------------codigo del textbox1.text----------------------
Imports System
Module Module1
Sub Main()
Console.WriteLine("Hello World!")
Console.WriteLine("Press ENTER")
Console.ReadLine()
End Sub
End Module
-----------------------------------------------
y mi aplicacion me genera un ejecutable pero pantallita negra nomas (consola logicamnt), pero deseo crear un formulario para windows , al menos que contenga un botoncito , ...
Gracias de antemano..
Nebire:
Te genera una consola porque eso es lo que le indicas...en
--- Citar ---Module Module1
Sub Main()
Console.WriteLine("Hello World!")
Console.WriteLine("Press ENTER")
Console.ReadLine()
End Sub
End Module
--- Fin de la cita ---
toda consola debe contener un método main. Si quieres ventanas debes tener 'formularios'...
Yo no se usar el codeDom, ni sé por qué lo usas en vez del IDE de VB, pero siguiendo lo que aparece en tu código debería ser algo similar a esto:
Aunque pienso que faltaría la rutina del initialize donde queda definido el formulario...(y todos los controles previos que tengas en el diseño del formulario.)
--- Código: Text --- Public Class miFormulario Friend WithEvents Button1 As System.Windows.Forms.Button Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'aquí va el código a ejecutar tras arrancar la aplicación 'aquí puedes colocar el código para generar tu botón o puedes ya tenerlo creado como en el siguiente apartado. Me.Button1 = New System.Windows.Forms.Button Me.SuspendLayout() Me.Button1.Location = New System.Drawing.Point(66, 127) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(101, 31) Me.Button1.TabIndex = 0 Me.Button1.Text = "Button1" Me.Button1.UseVisualStyleBackColor = True End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click MsgBox("hola mundo, estoy en modo ventanas no en consola", MsgBoxStyle.Exclamation, "al fin una ventana:...") End Subend class
Navegación
Ir a la versión completa