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 :

Question sur mon thread


Sujet :

VB.NET

  1. #1
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut Question sur mon thread
    Bonjour je vous explique le contexte, j'ai une fenêtre dans lequel j'affiche un composant ActiveX qui met du temps à se mettre en place donc je l'ai mis dans un thread.

    Ce composant activeX est 'AxMapPointControl' pour info c'est le composant fourni avec Microsoft MapPoint le logiciel de cartographie et qui me permet de visualiser une carte européenne dans mon projet .NET

    Le soucis est qu'il met du temps pour s'afficher, j'ai donc mis cette fonction dans un thread avec passage de paramètre (en objet et que j’extrais dans ma fonction)

    voici le code qui nous intéresse pour info :

    dans ma class :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim th As New Thread(New ParameterizedThreadStart(AddressOf ShowMapPoint))
    au chargement de ma fenêtre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     th.Start(coordonnen1 & "/" & coordonnen2 & "/" & adressemap)
    et enfin ma fonction qui est exécuté par le thread :
    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
    Sub ShowMapPoint(ByVal texte As Object)
            AxMappointControl1.NewMap(MapPoint.GeoMapRegion.geoMapEurope)
     
            Dim recuperer As String = DirectCast(texte, String)
            Dim tab_parametre(2) As String
            tab_parametre = recuperer.Split("/"c)
            Dim co1 As Double = CDbl(tab_parametre(0))
            Dim co2 As Double = CDbl(tab_parametre(1))
            Dim adr As String = tab_parametre(2)
     
            Dim oMap As MapPoint.Map
            Dim oLoc As MapPoint.Location
            Dim oPush As MapPoint.Pushpin
     
            oMap = AxMappointControl1.ActiveMap
            oMap.Application.Units = MapPoint.GeoUnits.geoKm
     
            oLoc = oMap.GetLocation(co1, co2, 2)
            oLoc.GoTo()
     
            oPush = oMap.AddPushpin(oLoc, "Lieu de l'intervention")
            oPush.Symbol = 9
            oPush.Select()
            oPush.Highlight = True
            oPush.Note = adr
            oPush.BalloonState = MapPoint.GeoBalloonState.geoDisplayBalloon
     
        End Sub
    Tous fonctionne mais le soucis est que lorsque la fenêtre s'ouvre, est bien c'est comme si je n'avais pas de thread, l'application charge pendant 10 bonnes secondes, avant d'avoir ma carte dans mon composant ActiveX, sans que je puisse faire autre chose, l'appli est figé !

    aurais je oublié quelque chose ? pourtant je passe bien dans le thread vu que ma cartographie s'affiche !!!
    je ne comprend pas

  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
    tu as essayé avec bing maps ou google maps ?
    MapPoint n'est pas ce qu'il y a de plus récent, et les activeX en .net c'est à éviter
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Février 2007
    Messages : 758
    Points : 279
    Points
    279
    Par défaut
    Oui avec googlemap pas de soucis mais je suis obligé de passé par MapPoint car le pc ou est installé l'application ne peut être relié à internet !

    Tu crois que c'est a cause du composant ActiveX que le thread ne fonctionne pas ?

Discussions similaires

  1. Question sur mon formulaire de contact
    Par Analfabete dans le forum Langage
    Réponses: 3
    Dernier message: 24/04/2006, 18h12
  2. question sur mon futur processeur
    Par loveflower dans le forum Composants
    Réponses: 13
    Dernier message: 12/01/2006, 00h10
  3. Quelques questions sur les threads
    Par benj63 dans le forum C++Builder
    Réponses: 28
    Dernier message: 21/11/2005, 13h27
  4. Question sur les threads
    Par Linio dans le forum Concurrence et multi-thread
    Réponses: 10
    Dernier message: 21/10/2005, 09h08
  5. Question sur les threads
    Par nicolas66 dans le forum MFC
    Réponses: 4
    Dernier message: 03/06/2005, 20h57

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