none
Impossible de faire exécuter une partie du code ? RRS feed

  • Discussion générale

  • Bonjour,

    Je n'arrive pas à faire exécuter une partie du code, présumant que c'est à cause du lancement du timer, mais je ne trouve pas comment contourner ce problème ?

    La soruce zipé en répertoire vb2012 est ici

    http://charge.ici.free.fr/agenda13.zip

    Voici le code

    ' Quand l'alarme est lancée depuis la form3 :
    ' En form1 le timer1 se lance
    ' Quand on revient en form 3 manuellement 
    ' certains affichages ne sont plus possibles, 
    ' voir en dessous :
    
     Select Case Form1.Timer1.Enabled ' FORM 3
          Case True
            ComboBox1.SelectedIndex = Form1.alarmeHH
            ComboBox2.SelectedIndex = Form1.alarmeMN
            Button1.Visible = False ' go
            Button2.Visible = True ' stop
    
    ' doEvent, sleep, ou même timer1.enabled = FALSE
    ' ça ne change rien !
    

    Mercdi, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mardi 26 février 2013 20:11

Toutes les réponses

  • Bonjour,

    Pouvez-vous nous fournir le code source de formulaire ? Dans le Zip, vous nous avez soumis que le fichier projet .vbproj.

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mercredi 27 février 2013 07:00
    Modérateur
  • Bonjour Gilles,

    Désolé, voici le lien avec tout (vbNet12) :

    http://charge.ici.free.fr/agenda2013.zip

    Au plaisir, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    mercredi 27 février 2013 08:19
  • Bonjour,

    Pouvez-vous m'indiquer les différentes étapes à effectuer pour reproduire votre problème ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0

    mercredi 27 février 2013 11:28
    Modérateur
  • Bojour Gilles,

    Ah, si tu t'occupes de moi je suis en de bonnes mains, chat va marcher, donc en réponse et après avoir lancé l'exe :

    - Il démarre sur form1, tu cliques sur le menu haut à gauche "alarme", ceci renvoie à la procédure  du menu qui se contente d'appeler la form3 (l'alarme), ainsi :

     Sub AlarmeToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AlarmeToolStripMenuItem.Click
        Try
          Form3.Show(Me)
        Catch ex As Exception
        End Try
      End Sub
    

    Dans la forme 3 tu as l'heure française du moment de l'appel, c'est ton alarme, tu lui mets +2 minutes par exemple, et tu valides le bouton alarme, c'est tout, la form3 se referme toute seule et la barre de progression commence à défiler sur la form1 grace au timer1 de cette dernière (en bas), il ne faut pas fermer l'agenda évidemment.

    En dernier, immédiatement, enfin, avant les deux minutes, tu appelles de nouveau l'alarme par le menu haut comme susdit : Normalement le bouton "alarme" devrait être invisible, et le bouton "stop" visible (quant à lui), logique, puisque ça toune, ça ne peut qu'arriver à son terme ou être arrêté avant (je n'ai pas fait de procédure de reprise).

    D'onc en fait la form3(alarme) teste si le timer1 de la form1 tourne (alarme), si oui il affiche "stop" et masque "alarme" en boutons, si non, il affiche "alarme" et masque "stop", c'est-à-dire ce code :

     Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim i As Integer = 0
        For i = 0 To 59
          If i < 25 Then ComboBox1.Items.Add(Format(i, "00"))
          ComboBox2.Items.Add(Format(i, "00"))
        Next
        Left = Form1.Left + 10
        Top = Form1.Top + 30
        Select Case Form1.Timer1.Enabled
          Case True
            ComboBox1.SelectedIndex = Form1.alarmeHH
            ComboBox2.SelectedIndex = Form1.alarmeMN
            Button1.Visible = False ' go
            Button2.Visible = True ' stop
          Case False
            ComboBox1.SelectedIndex = Now.Hour
            ComboBox2.SelectedIndex = Now.Minute
            Button1.Visible = True ' go
            Button2.Visible = False ' stop
        End Select
      End Sub

    C'est cette partie là qui ne fonctionne pas (du code) :

    Select Case Form1.Timer1.Enabled
          Case True
            ComboBox1.SelectedIndex = Form1.alarmeHH
            ComboBox2.SelectedIndex = Form1.alarmeMN
            Button1.Visible = False ' go
            Button2.Visible = True ' stop

    Ça rentre bien dans le case j'avais mis un msgBox pour voir, mais après ça n'exécute rien, incompréhensible, tandis que l'autre Case s'exécute bien (quand timer/stop)...

    L'affichage des heures, sont celles de l'alarme demandée, et le bouton j'en ai parlé au dessus, un code tout simple mais impossible à exécuter, je n'y comprends rien, je présume que c'est le timer qui doit bouffer du temps, mais quand même, avec un doEvent ou une pause, ou les deux, c'est pareil ???

    Au plaisir.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire



    • Modifié EhJoe mercredi 27 février 2013 15:58 correction
    mercredi 27 février 2013 15:52
  • Gilles :



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    jeudi 28 février 2013 08:06
  • J'AI TROUVE !

    C'était une mauvais affectation de variable, je passais à une variable pour les heures des minutes, alors quand c'était supérieur à 23, cette variable positionnant la valeur dans un comboBox (selectedIndex), ben ça faisait une erreur, mais une erreur "non signalée", il ne se plantait pas, alors évidemment je n'ai pas cherché à ce niveau, GGRRrrrr.

    Merci Gilles, cordialement.



    Joseph Attila PUSZTAY
    EhJoe       Logiciels       Romans       Ecrire


    jeudi 28 février 2013 09:42