none
No aparece MessageBox.Show

    Pregunta

  • Hola a todos:

    No entiendo por qué razón no muestra el mensaje que indico en el método.

    Haciendo una pasada con el depurador, entra perfectamente en el messagebox, pero en cambio no me lo muestra ni evidentemente me marcar error, no entiendo nada del porqué pasa esto. Tengo otros mensajes en el mismo form y van perfectos pero este no quiere aparecer.

    Public Sub LeeryGrabarNumeroDescargasDemos() 'Comprobamos si existe la subkey If My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\FinancialSystem\TestName", "TestName", Nothing) Is Nothing Then CreacionSubkeyRegistroDemos() Else 'Leemos el valor que lleva en el Registro Dim ValorDemo = My.Computer.Registry.GetValue("HKEY_CURRENT_USER\Software\FinancialSystem\TestName", "TestName", Nothing) 'Incrementamos su valor en 1 NumDemosDescargadas = CInt(ValorDemo) + 1 'Grabamos el nuevo valor. My.Computer.Registry.SetValue("HKEY_CURRENT_USER\Software\FinancialSystem\TestName", "TestName", NumDemosDescargadas) End If 'Si las descargas de demos superan el nº de 5, abandonamos la aplicación con un mensaje. If NumDemosDescargadas >= 5 Then

    '/// Aquí entra perfectamente pero no lo muestra. /////

    MessageBox.Show("No se admiten mas descargas en versión 'demo'," & vbCrLf & "ha superado el límite máximo de descargas.", "FINANCIAL SYSTEM", MessageBoxButtons.OK, MessageBoxIcon.Warning) End End If End Sub

    Lo he probado e varias maneras y perfecto, siempre entra pero no lo muestra. No entiendo por qué sucede esto.

    Un saludo.

    Gemma

    domingo, 12 de marzo de 2017 9:32

Respuestas

  • Hola Augusto:

    Ya está arreglado, he reiniciado todo el ordenador, he limpiado antes  la solución u ya funciona correctamente. Cosa de brujas. Algo ha pasado que no lo entiendo, pero bueno, ya funciona.

    Gracias a todos.

    Gemma

    • Marcado como respuesta gemma_campillo domingo, 12 de marzo de 2017 17:56
    domingo, 12 de marzo de 2017 17:56

Todas las respuestas

  • Haz probado utilizar la opcion MsgBox:

    MsgBox("No se admiten mas descargas en versión 'demo'," & vbCrLf & "ha superado el límite máximo de descargas.", 48, "FINANCIAL SYSTEM")
    

    La unica diferencia es el orden de los parametros.


    Pablo Gonzalez - Todo es posible

    domingo, 12 de marzo de 2017 15:04
  • Hola Pablo:

    Si he probado las dos, no hay manera de que se muestre,

    Muchas gracias.

    Gemma

    domingo, 12 de marzo de 2017 17:18
  • Hola, y si pruebas borrar el contenido de la carpeta bin y volver a generar todo pasa lo mismo?

    Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala. Solo dejo en el foro mis post si fueron útiles , de lo contrario y por mantener el orden los borro. Saludos. Lima-Perú.

    domingo, 12 de marzo de 2017 17:30
  • gemma_campillo,

    ¿En qué contexto se encuentra el procedimiento Sub LeeryGrabarNumeroDescargasDemos? ¿Es miembro de alguna clase que herede de la clase Form?, ¿Dónde declaras la variable NumDemoDescargadas?. Cuando decides encapsular una funcionalidad debes procurar que la misma sea independiente del exterior, bajo acoplamiento, la variable podría estar tomando otro valor fuera del procedimiento y ello provocar datos erróneos, no digo que lo mencionado sea el problema que presentas, lo dejo como recomendación.

    Dependiendo del contexto donde se ejecuta el procedimiento el problema podría tener algo de lógica, sin embargo creo que lo razonable es que el procedimiento sea uno de tipo Function y que la salida de la aplicación se dé en un contexto adecuado (un contexto de formulario) tras procesar todos los mensajes (no me refiero a la clase MessageBox), por ejemplo:

    Public Function LeeryGrabarNumeroDescargasDemos() As Integer
    
    	Dim NumDemosDescargadas As Integer = 0
    
    	'Comprobamos si existe la subkey
    	If My.Computer.Registry.GetValue("...") Is Nothing Then
    		CreacionSubkeyRegistroDemos()
    	Else
    		'Leemos el valor que lleva en el Registro
    		Dim ValorDemo = My.Computer.Registry.GetValue("...")
    
    		'Incrementamos su valor en 1
    		NumDemosDescargadas = CInt(ValorDemo) + 1
    
    		'Grabamos el nuevo valor.
    		My.Computer.Registry.SetValue("...", NumDemosDescargadas)
    
    	End If
    
    	Return NumDemosDescargadas
    
    End Function

    - En un contexto de formulario:

    If LeeryGrabarNumeroDescargasDemos() > 5 Then
    	MessageBox.Show("...")
    
    	Application.Exit()
    End If


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    domingo, 12 de marzo de 2017 17:55
  • Hola Augusto:

    Ya está arreglado, he reiniciado todo el ordenador, he limpiado antes  la solución u ya funciona correctamente. Cosa de brujas. Algo ha pasado que no lo entiendo, pero bueno, ya funciona.

    Gracias a todos.

    Gemma

    • Marcado como respuesta gemma_campillo domingo, 12 de marzo de 2017 17:56
    domingo, 12 de marzo de 2017 17:56