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

WinDev Discussion :

Utilisation Assemblage .NET d'ESRI


Sujet :

WinDev

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Utilisation Assemblage .NET d'ESRI
    Bonjour,

    Je suis nouveau dans l'environnement Windev, et je suis actuellement en train de tester l'utilisation d'assemblage .NET de la gamme de logiciel ESRI dans Windev.

    J'ai ajouté les assemblages dont j'ai besoin dans mon projet Windev via le menu "Atelier->.NET->Utiliser un assemblage .NET dans ce projet". Je peux voir dans la section "Assemblage .NET" de la fenêtre flottante "Projet" les classes ESRI que je compte manipuler.

    J'ai écrit une procédure derrière un bouton qui doit me permettre d'utiliser l'assemblage .NET pour me connecter à une source de données.

    Voici le code Windev :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    MyFactoryEXPRESS est un WorkspaceFactoryClass dynamique
    MyFactoryEXPRESS = allouer un ShapefileWorkspaceFactoryClass
     
    MyWorkspaceEXPRESS est un WorkspaceClass dynamique
    MyWorkspaceEXPRESS = MyFactoryEXPRESS:OpenFromFile("D:\Esri BeLux\1516 SIGA 2006\PYL\Internet 2007\arbor2002\",0)
     
    IF MyWorkspaceEXPRESS=Null THEN
    	Info("workspace null")
    ELSE
    	Info(MyWorkspaceEXPRESS:pathName)
    END
    La méthode OpenFromFile doit me renvoyer un objet de type WorkspaceClass, mais je reçois un message d'erreur sur la ligne "Info(MyWorkspaceEXPRESS:pathName)" qui doit simplement me donner le répertoire auquel l'objet est connecté qui est une chaîne.

    Voici l'erreur : Echec lors de la lecture du champ <PathName> du type <__ComObject>

    Je sais que mon objet MyFactoryEXPRESS est bien alloué, car je peux utiliser une méthode de cet objet qui teste si le répertoire que je vais utiliser dans la méthode OpenFromFile est correct. Mais on dirait que lorsque j'utilise la méthode OpenFromFile, l'objet renvoyé dans la variable MyWorkspaceEXPRESS n'est pas du bon type.

    Voici une version du code en VB.NET qui fonctionne très bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
            Dim pWSFClass As WorkspaceFactory
            pWSFClass = New ShapefileWorkspaceFactory
     
            Dim pWSClass As Workspace
            pWSClass = pWSFClass.OpenFromFile("D:\Esri BeLux\1516 SIGA 2006\PYL\Internet 2007\arbor2002\", 0)
     
            If pWSClass Is Nothing Then
                MessageBox.Show("workspace null")
            Else
                MessageBox.Show(pWSClass.PathName)
            End If
    Y a-t-il une manière particulière d'initialiser un objet dans windev à partir de l'appel d'une méthode d'un autre objet (comme c'est le cas ici) ? Je ne peux pas utiliser l'instruction "allouer un" pour mon objet MyWorkspaceEXPRESS parce que le constructeur de la classe WorkspaceClass est protégé. L'objet doit être dérivé d'une autre classe, en appelant une méthode de celle-ci.

    Merci pour toute l'aide que vous pourrez m'apporter.

  2. #2
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    Salut à toi,

    Pour débugger et être certain qu'il y a les bons types, etc... tu peux utiliser un point d'arrêt ce qui te permetra d'avoir le contenu, le type de tes variables dans le bas de la fenêtre.
    Dans le cas d'un objet par exemple, si tu doubles-cliques sur la ligne de l'objet, une fenêtre s'ouvrira avec l'ensemble de ses membres et leur valeur.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ta réponse, mais je n'arrive pas à ouvrir les valeurs de l'objet.

    Existe-t-il un opérateur de casting en Windev ?

  4. #4
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    Pas à ma connaissance mais étant donné que j'ai très peu utilisé d'élèments externe à Windev, ma réponse n'est pas une certitude.

    Pour le debuggage, il faut double-cliquer sur la partie droite de l'objet, là où la "valeur" est s'affiche.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Voilà la fénêtre windev que j'ai en mode débogage :


  6. #6
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    ah oui, donc je confirme, je n'ai pas assez utilisé d'élèments externe car je ne suis jamais tombé sur ce type de message.

    Navré, je ne pense pas pouvoir plus t'aider.

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Merci pour ton aide malgré tout.

    C'est assez frustrant, ça fait un bout de temps qu'on cherche comment utiliser ces classes .NET dans Windev sans résultats.

    Je me pose la question de savoir si Windev est vraiment capable d'utiliser les classes .NET d'un fournisseur logiciel. Pourtant il détecte correctement les classes .NET que l'on veut utiliser. Y'a quelque chose qui nous échappe complètement.

  8. #8
    Membre expert

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    2 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 346
    Points : 3 867
    Points
    3 867
    Par défaut
    Alors petite remarque, je n'avais pas fait attention que tu étais en version Express, donc version limitée, mais je m'avance peut-être.

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/01/2013, 20h30
  2. [WD17] Utilisation assemblage .NET
    Par thierrybatlle dans le forum WinDev
    Réponses: 2
    Dernier message: 24/01/2012, 11h45
  3. Utilisation d'assemblages .NET
    Par dvinet17 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 07/09/2011, 16h21
  4. [WD15] Utilisation d'un assemblage .NET
    Par therealmancool dans le forum WinDev
    Réponses: 10
    Dernier message: 12/05/2010, 11h37
  5. [D2005] Utiliser un assemblage .Net
    Par giloutho dans le forum Delphi .NET
    Réponses: 7
    Dernier message: 27/07/2005, 00h31

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