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

VB.NET Discussion :

Thread qui freeze lors des breakpoints.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Par défaut Thread qui freeze lors des breakpoints.
    Bonjour à tous !

    Avant, j'avais un activeX EXE nommé "Readers". C'était une fenêtre graphique qui permettait de gérer des lecteurs.

    Pour l'ajouter dans un autre projet, il suffisait de l'ajouter en référence et de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim connector As New Readers.Connector  (Connector était une classe publique)
    Dim myReader AS Readers.reader = connector.getInstanceOfReader()
    A ce moment là, j'avais accès à toutes les infos du reader. L'activeX était dans un autre thread donc pendant que le projet fonctionnait, la fenêtre était accessible.

    J'ai refait ce programme en .NET. J'ai tenté de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim Connector As New IDReader.Connector
    Dim t As New System.Threading.Thread(AddressOf Connector.ShowProgress)
    t.IsBackground = True
    t.SetApartmentState(Threading.ApartmentState.STA)
    t.Start()
    Reader = Connector.getInstanceOfReader
    Avec dans connector du projet "Readers":
    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
     
    Public Sub New()
             ReaderInst = New ReaderAPI()
    End Sub
     
     
    Sub ShowProgress()
            MyMainWindow = New MainWindow()
            MyMainWindow.Show()
    End Sub
     
     
    Public ReadOnly Property getInstanceOfReader() As ReaderAPI
            Get
                Return ReaderInst
            End Get
    End Property
    Quand le programme s'éxecute, pas de problème, la fenêtre réagit bien. Mais, le projet principal est en mode "debug" et si j'arrive sur un breakpoint dans mon code, la fenêtre se freeze.

    Je ne sais pas comment faire. Quelqu'un a une idée?
    Est-il possible de le passer en Processus à la place et d'intéragir avec?

    Merci,
    Guillaume

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    les activeX sont peu conseillables en .net (je n'ai pas compris si tu l'as gardé ou pas mais je le précise quand même)

    mettre pause pendant l'exécution en debug met en pause tous les threads, et toutes les fenetres figent, comportement normal
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Décembre 2011
    Messages : 3
    Par défaut
    Justement, j'ai repris l'activeX pour en faire une application "normale" sous .NET

    Pour ta deuxième phrase, il faudrait donc que je lance cette application dans un autre processus... Sais-tu comment communiquer facilement et rapidement entre processus? La plupart des sites proposés d'utiliser les Pipes (dispo à partir de vb2008) mais je suis sous vb2005.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    les sockets mais ca sera pas simple, ou sinon une base de données (ou des fichiers même si c'est un peu moche)

    sinon visual basic express est gratuit, donc tu peux passer sur le 2008 et 2010 ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

Discussions similaires

  1. IHM qui freeze lors d'utilisation subprocess
    Par deusyss dans le forum GUI
    Réponses: 8
    Dernier message: 15/10/2013, 10h31
  2. Réponses: 5
    Dernier message: 18/03/2008, 13h17
  3. Réponses: 5
    Dernier message: 30/04/2007, 16h32
  4. Réponses: 2
    Dernier message: 04/01/2007, 17h48
  5. Un Gif animé qui ne se fige pas lors des traitements ?
    Par delphi+ dans le forum Composants VCL
    Réponses: 11
    Dernier message: 18/03/2006, 11h31

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