IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Problème de threads


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 11
    Points
    11
    Par défaut Problème de threads
    Bonjour,

    Voila j'ai un problème concernant mon programme qui en faite doit lors du démarrage de la fenêtre exécuter un thread. Ce thread fait en quelque sorte une boucle infinie qui ce connecte a ma base mysql recupere dans un data set les données de ma table et affiche cette table dans un datagridview de ma form.
    Il fait donc cela tout le temps. Je vous montre le programme.

    Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    public partial class FrmInterface : Form
        {  
            //Attributs-------------------------------------------------------------------------------------
            private MySQLDriverCS.MySQLDataAdapter MyAdapter = new MySQLDriverCS.MySQLDataAdapter();
     
            //Méthodes--------------------------------------------------------------------------------------
            public FrmInterface()
            {         
                InitializeComponent();
                FrmLogin Form1 = new FrmLogin();
                Form1.ShowDialog();      
                Thread mon_thread = new Thread(new ThreadStart(methode_thread));  
                mon_thread.Start();
                CheckForIllegalCrossThreadCalls = false;               
            }
     
            public void methode_thread()
            {           
                do
                {
                    MySQLDriverCS.MySQLConnection connection = new MySQLDriverCS.MySQLConnection(new MySQLDriverCS.MySQLConnectionString("sql4.power-heberg.net", "ZZZ", "ZZZ", "XXX").AsString);
                    connection.Open();
                    MyAdapter = new MySQLDriverCS.MySQLDataAdapter("SELECT * FROM nouveau ", connection);
                    DataSet ds = new DataSet("table");
                    MyAdapter.Fill(ds, "matable");
                    dataGridView1.DataSource = ds.Tables[0];
                    dataGridView1.Columns[0].Width = 160;
                    dataGridView1.Columns[1].Width = 939;
                    connection.Close();
                    Thread.Sleep(2000);
                } while (true);
     
            }
    Voila le bout de mon programme et quand je le lance et j'affiche mon datagridview il me met
    La référence d'objet n'est pas définie à une instance d'un objet.
    pour la ligne suivante en rouge de ma classe program.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    static class Program
        {
            /// <summary>
            /// Point d'entrée principal de l'application.
            /// </summary>
            [STAThread]
            static void Main()
            {
                
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new FrmInterface());
            }
        }
    Si vous avez des réponses a ceux problème, je vous remercie par avance car je ne comprend pas pourquoi cela ne fonctionne ne pas.

    Cordialement

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    déjà CheckForIllegalCrossThreadCalls = false c'est pas recommandé, c'est marqué dans l'aide que c'est utile uniquement à des fins de debug, que ca peut causer des soucis
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Merci pour ta réponse, en effet ce n'est pas très bien de mettre ceci mais si je l'enlève cela me met une erreur comme quoi il y a des opérations inter-thread.

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    oui mais il y a des solutions (thread + délégué ou backgroundworker)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. Problème de thread : Plus de ressources système
    Par OliverSleep dans le forum C++Builder
    Réponses: 17
    Dernier message: 07/02/2006, 15h35
  2. [VB.NET] Problème de Thread
    Par Sadneth dans le forum ASP.NET
    Réponses: 26
    Dernier message: 31/01/2006, 10h12
  3. Problème synchronisation threads
    Par Linio dans le forum Concurrence et multi-thread
    Réponses: 19
    Dernier message: 11/01/2006, 16h57
  4. [MFC] Problème de Threads + Timers
    Par Invité dans le forum MFC
    Réponses: 8
    Dernier message: 30/11/2005, 10h51
  5. [VC++6][DX9] Problème de thread lors d'un blit ...
    Par grandjouff dans le forum DirectX
    Réponses: 2
    Dernier message: 12/06/2003, 22h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo