Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    148

    [vb2008.net] applicazione priva di GUI

    vorrei realizzare un applicazione che non ha bisogno di GUI (form grafico). per fare ciò ho creato un progetto e vi ho aggiunto un modulo, a cui ci ho aggiunto la sub main:
    codice:
    dim Timer2 as Timer
      Sub Main()
                 
            Timer2 = New Timer
    
            AddHandler Timer2.Tick, AddressOf Timer1_Tick
            vel()
            Timer2.Start()
            Console.WriteLine(Timer2.Interval)
        End Sub
    
    sub vel()
    
    ''''
    end sub
    il problema è che il tutto non viene eseguito. per quale motivo? (è la prima volta che creo un applicazione del genere)

  2. #2
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123
    Ciao, ma come nuovo progetto, hai selezionato Applicazione Console?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    148
    Originariamente inviato da alpynet
    Ciao, ma come nuovo progetto, hai selezionato Applicazione Console?
    no non l ho fatto,comunque lo posso impostare dalle proprietà del progetto no? devo fare altro?

  4. #4
    Utente di HTML.it L'avatar di alpynet
    Registrato dal
    Mar 2010
    Messaggi
    123
    In pratica se selezione Applicazione Console, ti viene proposto un modulo con la Sub Main. Successivamente tutto quello che metti all'interno viene eseguito all'avvio del programma.

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    148
    Originariamente inviato da alpynet
    In pratica se selezione Applicazione Console, ti viene proposto un modulo con la Sub Main. Successivamente tutto quello che metti all'interno viene eseguito all'avvio del programma.
    ok grazie. ho fatto quello che hai detto, solo che appena avvio il debug dopo poco si arresta da solo come è possibile?

  6. #6
    È normale, la tua sub main viene eseguita, quando termina termina anche il programma.
    Tra l'altro se non erro in un'applicazione console non puoi usare il timer Windows Forms, ma devi usare quello di System.Threading (che però usa un thread separato per la notifica, stai all'occhio per eventuali problemi di race conditions e compagnia).
    Amaro C++, il gusto pieno dell'undefined behavior.

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2008
    Messaggi
    148
    Originariamente inviato da MItaly
    È normale, la tua sub main viene eseguita, quando termina termina anche il programma.
    Tra l'altro se non erro in un'applicazione console non puoi usare il timer Windows Forms, ma devi usare quello di System.Threading (che però usa un thread separato per la notifica, stai all'occhio per eventuali problemi di race conditions e compagnia).
    potresti spiegarmi come usare il thread per eseguire ad esempio la funzione vel() (del mio codice) ogni 2 secondi?

  8. #8
    codice:
    Module Module1
        Public Function Main() As Integer
            ' Crea il timer, specificando il callback, l'oggetto da passarci, il tempo di ritardo e il periodo tra due chiamate
            Using t As New System.Threading.Timer(AddressOf TimerCallback, Nothing, 0, 2000)
                Console.Write("Premere Invio per uscire...")
                ' Attende la pressione di Invio per l'uscita
                Console.ReadLine()
            End Using ' qui il timer viene distrutto
            Return 0
        End Function
    
        ' Callback del timer
        Public Sub TimerCallback(ByVal State As Object)
            ' Effettivamente chiama Vel()
            Vel()
        End Sub
    
        Public Sub Vel()
            '...
        End Sub
    End Module
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.